{"id":"https://openalex.org/W2025249512","doi":"https://doi.org/10.1145/1227161.1370599","title":"An experimental study of sorting and branch prediction","display_name":"An experimental study of sorting and branch prediction","publication_year":2008,"publication_date":"2008-06-01","ids":{"openalex":"https://openalex.org/W2025249512","doi":"https://doi.org/10.1145/1227161.1370599","mag":"2025249512"},"language":"en","primary_location":{"id":"doi:10.1145/1227161.1370599","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1227161.1370599","pdf_url":null,"source":{"id":"https://openalex.org/S201104086","display_name":"ACM Journal of Experimental Algorithmics","issn_l":"1084-6654","issn":["1084-6654"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Journal of Experimental Algorithmics","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5023280352","display_name":"Paul Biggar","orcid":null},"institutions":[{"id":"https://openalex.org/I205274468","display_name":"Trinity College Dublin","ror":"https://ror.org/02tyrky19","country_code":"IE","type":"education","lineage":["https://openalex.org/I205274468"]}],"countries":["IE"],"is_corresponding":true,"raw_author_name":"Paul Biggar","raw_affiliation_strings":["Trinity College Dublin, Ireland","Trinity College, Dublin Ireland"],"affiliations":[{"raw_affiliation_string":"Trinity College Dublin, Ireland","institution_ids":["https://openalex.org/I205274468"]},{"raw_affiliation_string":"Trinity College, Dublin Ireland","institution_ids":["https://openalex.org/I205274468"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5065566225","display_name":"Nicholas Nash","orcid":null},"institutions":[{"id":"https://openalex.org/I205274468","display_name":"Trinity College Dublin","ror":"https://ror.org/02tyrky19","country_code":"IE","type":"education","lineage":["https://openalex.org/I205274468"]}],"countries":["IE"],"is_corresponding":false,"raw_author_name":"Nicholas Nash","raw_affiliation_strings":["Trinity College Dublin, Ireland","Trinity College, Dublin Ireland"],"affiliations":[{"raw_affiliation_string":"Trinity College Dublin, Ireland","institution_ids":["https://openalex.org/I205274468"]},{"raw_affiliation_string":"Trinity College, Dublin Ireland","institution_ids":["https://openalex.org/I205274468"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5011156128","display_name":"Kevin Williams","orcid":"https://orcid.org/0000-0003-0413-1246"},"institutions":[{"id":"https://openalex.org/I205274468","display_name":"Trinity College Dublin","ror":"https://ror.org/02tyrky19","country_code":"IE","type":"education","lineage":["https://openalex.org/I205274468"]}],"countries":["IE"],"is_corresponding":false,"raw_author_name":"Kevin Williams","raw_affiliation_strings":["Trinity College Dublin, Ireland","Trinity College, Dublin Ireland"],"affiliations":[{"raw_affiliation_string":"Trinity College Dublin, Ireland","institution_ids":["https://openalex.org/I205274468"]},{"raw_affiliation_string":"Trinity College, Dublin Ireland","institution_ids":["https://openalex.org/I205274468"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5003800161","display_name":"David Gregg","orcid":"https://orcid.org/0000-0003-3782-4612"},"institutions":[{"id":"https://openalex.org/I205274468","display_name":"Trinity College Dublin","ror":"https://ror.org/02tyrky19","country_code":"IE","type":"education","lineage":["https://openalex.org/I205274468"]}],"countries":["IE"],"is_corresponding":false,"raw_author_name":"David Gregg","raw_affiliation_strings":["Trinity College Dublin, Ireland","Trinity College, Dublin Ireland"],"affiliations":[{"raw_affiliation_string":"Trinity College Dublin, Ireland","institution_ids":["https://openalex.org/I205274468"]},{"raw_affiliation_string":"Trinity College, Dublin Ireland","institution_ids":["https://openalex.org/I205274468"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5023280352"],"corresponding_institution_ids":["https://openalex.org/I205274468"],"apc_list":null,"apc_paid":null,"fwci":0.3479,"has_fulltext":false,"cited_by_count":14,"citation_normalized_percentile":{"value":0.6736204,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":91,"max":98},"biblio":{"volume":"12","issue":null,"first_page":"1","last_page":"39"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998000264167786,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998000264167786,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11269","display_name":"Algorithms and Data Compression","score":0.9980999827384949,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11181","display_name":"Advanced Data Storage Technologies","score":0.9973999857902527,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/quicksort","display_name":"Quicksort","score":0.9095707535743713},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8545950651168823},{"id":"https://openalex.org/keywords/sorting-algorithm","display_name":"Sorting algorithm","score":0.7235250473022461},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.6702053546905518},{"id":"https://openalex.org/keywords/predictability","display_name":"Predictability","score":0.6333427429199219},{"id":"https://openalex.org/keywords/branch-predictor","display_name":"Branch predictor","score":0.6120739579200745},{"id":"https://openalex.org/keywords/cache","display_name":"Cache","score":0.5883277058601379},{"id":"https://openalex.org/keywords/sorting","display_name":"Sorting","score":0.5391708612442017},{"id":"https://openalex.org/keywords/divide-and-conquer-algorithms","display_name":"Divide and conquer algorithms","score":0.45503708720207214},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.4129682183265686},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.10377970337867737}],"concepts":[{"id":"https://openalex.org/C2778937211","wikidata":"https://www.wikidata.org/wiki/Q486598","display_name":"Quicksort","level":4,"score":0.9095707535743713},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8545950651168823},{"id":"https://openalex.org/C108094655","wikidata":"https://www.wikidata.org/wiki/Q181593","display_name":"Sorting algorithm","level":3,"score":0.7235250473022461},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6702053546905518},{"id":"https://openalex.org/C197640229","wikidata":"https://www.wikidata.org/wiki/Q2534066","display_name":"Predictability","level":2,"score":0.6333427429199219},{"id":"https://openalex.org/C168522837","wikidata":"https://www.wikidata.org/wiki/Q679552","display_name":"Branch predictor","level":2,"score":0.6120739579200745},{"id":"https://openalex.org/C115537543","wikidata":"https://www.wikidata.org/wiki/Q165596","display_name":"Cache","level":2,"score":0.5883277058601379},{"id":"https://openalex.org/C111696304","wikidata":"https://www.wikidata.org/wiki/Q2303697","display_name":"Sorting","level":2,"score":0.5391708612442017},{"id":"https://openalex.org/C71559656","wikidata":"https://www.wikidata.org/wiki/Q671298","display_name":"Divide and conquer algorithms","level":2,"score":0.45503708720207214},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.4129682183265686},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.10377970337867737},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1227161.1370599","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1227161.1370599","pdf_url":null,"source":{"id":"https://openalex.org/S201104086","display_name":"ACM Journal of Experimental Algorithmics","issn_l":"1084-6654","issn":["1084-6654"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Journal of Experimental Algorithmics","raw_type":"journal-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":40,"referenced_works":["https://openalex.org/W63944998","https://openalex.org/W78419132","https://openalex.org/W87017217","https://openalex.org/W100509257","https://openalex.org/W190001253","https://openalex.org/W1539498068","https://openalex.org/W1539580421","https://openalex.org/W1548333879","https://openalex.org/W1553348389","https://openalex.org/W1555915743","https://openalex.org/W1585070348","https://openalex.org/W1709754610","https://openalex.org/W1979154698","https://openalex.org/W1993449345","https://openalex.org/W2002560134","https://openalex.org/W2005063569","https://openalex.org/W2012188345","https://openalex.org/W2029131452","https://openalex.org/W2038142281","https://openalex.org/W2040046786","https://openalex.org/W2051283794","https://openalex.org/W2056014488","https://openalex.org/W2056397208","https://openalex.org/W2062060002","https://openalex.org/W2070920127","https://openalex.org/W2080092059","https://openalex.org/W2080393180","https://openalex.org/W2095875205","https://openalex.org/W2122403525","https://openalex.org/W2127902590","https://openalex.org/W2149468555","https://openalex.org/W2172457606","https://openalex.org/W2752853835","https://openalex.org/W3009493508","https://openalex.org/W3198470706","https://openalex.org/W4235295823","https://openalex.org/W4237423254","https://openalex.org/W4240200084","https://openalex.org/W6632258207","https://openalex.org/W6676335337"],"related_works":["https://openalex.org/W3033665083","https://openalex.org/W1772474011","https://openalex.org/W1875613325","https://openalex.org/W2389598404","https://openalex.org/W1493296159","https://openalex.org/W4320925713","https://openalex.org/W1968621471","https://openalex.org/W76067348","https://openalex.org/W3102398360","https://openalex.org/W2025249512"],"abstract_inverted_index":{"Sorting":[0],"is":[1,248],"one":[2],"of":[3,39,63,69,92,107,113,129,152,182,191,200,224],"the":[4,66,90,93,97,105,111,114,125,150,180,189,222,250],"most":[5,98],"important":[6],"and":[7,27,48,136,159,209],"well-studied":[8],"problems":[9],"in":[10,22,95,116,140,216,263],"computer":[11,41],"science.":[12],"Many":[13],"good":[14],"algorithms":[15,32],"are":[16,51,239,256],"known":[17],"which":[18],"offer":[19],"various":[20],"trade-offs":[21],"efficiency,":[23],"simplicity,":[24],"memory":[25],"use,":[26],"other":[28],"factors.":[29],"However,":[30],"these":[31,117],"do":[33],"not":[34],"take":[35],"into":[36,65],"account":[37],"features":[38,54],"modern":[40],"architectures":[42],"that":[43,134,143,149,160,174,212,230,252],"significantly":[44],"influence":[45,187],"performance.":[46],"Caches":[47],"branch":[49,81,127,169,202,237],"predictors":[50,238,255],"two":[52],"such":[53],"and,":[55],"while":[56],"there":[57,74],"has":[58,75],"been":[59,76],"a":[60,141,185,197,205,214,217],"significant":[61],"amount":[62],"research":[64,78],"cache":[67,108,162],"performance":[68],"general":[70],"purpose":[71],"sorting":[72,100,132,232],"algorithms,":[73],"little":[77,165],"on":[79,110,167,188],"their":[80,145],"prediction":[82],"properties.":[83],"In":[84],"this":[85],"paper,":[86],"we":[87,228],"empirically":[88],"examine":[89],"behavior":[91],"branches":[94,115,146,154],"all":[96],"common":[99],"algorithms.":[101,118],"We":[102,119,171,194],"also":[103,173,210],"consider":[104],"interaction":[106],"optimization":[109],"predictability":[112,190],"find":[120,172],"insertion":[121],"sort":[122,138],"to":[123,176,260],"have":[124,164,184],"fewest":[126],"mispredictions":[128],"any":[130],"comparison-based":[131],"algorithm,":[133],"bubble":[135],"shaker":[137],"operate":[139],"fashion":[142],"makes":[144],"highly":[147],"unpredictable,":[148],"unpredictability":[151],"shellsort's":[153],"improves":[155,221],"its":[156,192,225],"caching":[157],"behavior,":[158],"several":[161],"optimizations":[163,175],"effect":[166],"mergesort's":[168],"mispredictions.":[170],"quicksort,":[177],"for":[178],"example":[179],"choice":[181],"pivot,":[183],"strong":[186],"branches.":[193,226],"point":[195],"out":[196],"simple":[198],"way":[199],"removing":[201],"instructions":[203],"from":[204],"classic":[206],"heapsort":[207,219],"implementation":[208,220],"show":[211],"unrolling":[213],"loop":[215],"cache-optimized":[218],"predicitability":[223],"Finally,":[227],"note":[229],"when":[231],"random":[233],"data":[234],"two-level":[235,253],"adaptive":[236,254],"usually":[240],"no":[241],"better":[242],"than":[243],"simpler":[244],"bimodal":[245,261],"predictors.":[246],"This":[247],"despite":[249],"fact":[251],"almost":[257],"always":[258],"superior":[259],"predictors,":[262],"general.":[264]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2019,"cited_by_count":2},{"year":2014,"cited_by_count":5},{"year":2013,"cited_by_count":2},{"year":2012,"cited_by_count":3}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
