{"id":"https://openalex.org/W2912064140","doi":"https://doi.org/10.1145/3274660","title":"BlockQuicksort","display_name":"BlockQuicksort","publication_year":2019,"publication_date":"2019-01-30","ids":{"openalex":"https://openalex.org/W2912064140","doi":"https://doi.org/10.1145/3274660","mag":"2912064140"},"language":"en","primary_location":{"id":"doi:10.1145/3274660","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3274660","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/A5058729606","display_name":"Stefan Edelkamp","orcid":"https://orcid.org/0000-0001-8435-5025"},"institutions":[{"id":"https://openalex.org/I183935753","display_name":"King's College London","ror":"https://ror.org/0220mzb33","country_code":"GB","type":"education","lineage":["https://openalex.org/I124357947","https://openalex.org/I183935753"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Stefan Edelkamp","raw_affiliation_strings":["King\u2019s College London","King's College London"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"King\u2019s College London","institution_ids":["https://openalex.org/I183935753"]},{"raw_affiliation_string":"King's College London","institution_ids":["https://openalex.org/I183935753"]}]},{"author_position":"last","author":{"id":null,"display_name":"Armin Wei\u00df","orcid":"https://orcid.org/0000-0002-7645-5867"},"institutions":[{"id":"https://openalex.org/I100066346","display_name":"University of Stuttgart","ror":"https://ror.org/04vnq7t77","country_code":"DE","type":"education","lineage":["https://openalex.org/I100066346"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Armin Wei\u00df","raw_affiliation_strings":["Universit\u00e4t Stuttgart"],"raw_orcid":"https://orcid.org/0000-0002-7645-5867","affiliations":[{"raw_affiliation_string":"Universit\u00e4t Stuttgart","institution_ids":["https://openalex.org/I100066346"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.3015,"has_fulltext":false,"cited_by_count":18,"citation_normalized_percentile":{"value":0.85134959,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":"24","issue":null,"first_page":"1","last_page":"22"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11269","display_name":"Algorithms and Data Compression","score":0.9997000098228455,"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"}},"topics":[{"id":"https://openalex.org/T11269","display_name":"Algorithms and Data Compression","score":0.9997000098228455,"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.994700014591217,"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"}},{"id":"https://openalex.org/T12072","display_name":"Machine Learning and Algorithms","score":0.9904000163078308,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/quicksort","display_name":"Quicksort","score":0.9416619539260864},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7016487717628479},{"id":"https://openalex.org/keywords/sorting-algorithm","display_name":"Sorting algorithm","score":0.6415396928787231},{"id":"https://openalex.org/keywords/speedup","display_name":"Speedup","score":0.5996900796890259},{"id":"https://openalex.org/keywords/merge-sort","display_name":"Merge sort","score":0.5561335682868958},{"id":"https://openalex.org/keywords/sort","display_name":"sort","score":0.555478572845459},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.529707670211792},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5224806070327759},{"id":"https://openalex.org/keywords/sorting","display_name":"Sorting","score":0.4814126491546631},{"id":"https://openalex.org/keywords/dataflow","display_name":"Dataflow","score":0.46376582980155945},{"id":"https://openalex.org/keywords/block-size","display_name":"Block size","score":0.4481217861175537},{"id":"https://openalex.org/keywords/block","display_name":"Block (permutation group theory)","score":0.4389103651046753},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.2839112877845764},{"id":"https://openalex.org/keywords/combinatorics","display_name":"Combinatorics","score":0.20546787977218628},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.0954863429069519}],"concepts":[{"id":"https://openalex.org/C2778937211","wikidata":"https://www.wikidata.org/wiki/Q486598","display_name":"Quicksort","level":4,"score":0.9416619539260864},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7016487717628479},{"id":"https://openalex.org/C108094655","wikidata":"https://www.wikidata.org/wiki/Q181593","display_name":"Sorting algorithm","level":3,"score":0.6415396928787231},{"id":"https://openalex.org/C68339613","wikidata":"https://www.wikidata.org/wiki/Q1549489","display_name":"Speedup","level":2,"score":0.5996900796890259},{"id":"https://openalex.org/C35555965","wikidata":"https://www.wikidata.org/wiki/Q189057","display_name":"Merge sort","level":4,"score":0.5561335682868958},{"id":"https://openalex.org/C88548561","wikidata":"https://www.wikidata.org/wiki/Q347599","display_name":"sort","level":2,"score":0.555478572845459},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.529707670211792},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5224806070327759},{"id":"https://openalex.org/C111696304","wikidata":"https://www.wikidata.org/wiki/Q2303697","display_name":"Sorting","level":2,"score":0.4814126491546631},{"id":"https://openalex.org/C96324660","wikidata":"https://www.wikidata.org/wiki/Q205446","display_name":"Dataflow","level":2,"score":0.46376582980155945},{"id":"https://openalex.org/C41431624","wikidata":"https://www.wikidata.org/wiki/Q1053357","display_name":"Block size","level":3,"score":0.4481217861175537},{"id":"https://openalex.org/C2777210771","wikidata":"https://www.wikidata.org/wiki/Q4927124","display_name":"Block (permutation group theory)","level":2,"score":0.4389103651046753},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.2839112877845764},{"id":"https://openalex.org/C114614502","wikidata":"https://www.wikidata.org/wiki/Q76592","display_name":"Combinatorics","level":1,"score":0.20546787977218628},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.0954863429069519},{"id":"https://openalex.org/C38652104","wikidata":"https://www.wikidata.org/wiki/Q3510521","display_name":"Computer security","level":1,"score":0.0},{"id":"https://openalex.org/C23123220","wikidata":"https://www.wikidata.org/wiki/Q816826","display_name":"Information retrieval","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3274660","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3274660","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"},{"id":"pmh:oai:kclpure.kcl.ac.uk:publications/190ff5c4-40ba-401a-99f5-ba8e0cdb17f3","is_oa":false,"landing_page_url":"https://kclpure.kcl.ac.uk/portal/en/publications/190ff5c4-40ba-401a-99f5-ba8e0cdb17f3","pdf_url":null,"source":{"id":"https://openalex.org/S4306400216","display_name":"Research Portal (King's College London)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I183935753","host_organization_name":"King's College London","host_organization_lineage":["https://openalex.org/I183935753"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Edelkamp, S & Weib, A 2019, 'BlockQuicksort : Avoiding branch mispredictions in quicksort', ACM Journal of Experimental Algorithmics, vol. 24, no. 1, 1.4, pp. 1-22. https://doi.org/10.1145/3274660","raw_type":"info:eu-repo/semantics/publishedVersion"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":45,"referenced_works":["https://openalex.org/W73629738","https://openalex.org/W100509257","https://openalex.org/W1492601037","https://openalex.org/W1497382427","https://openalex.org/W1513417513","https://openalex.org/W1539580421","https://openalex.org/W1548333879","https://openalex.org/W1553348389","https://openalex.org/W1555915743","https://openalex.org/W1792966054","https://openalex.org/W1889773849","https://openalex.org/W1966648469","https://openalex.org/W1981177980","https://openalex.org/W1981281799","https://openalex.org/W1984371651","https://openalex.org/W1989640573","https://openalex.org/W2017427035","https://openalex.org/W2024781872","https://openalex.org/W2025249512","https://openalex.org/W2040046786","https://openalex.org/W2051283794","https://openalex.org/W2052489360","https://openalex.org/W2056014488","https://openalex.org/W2057843273","https://openalex.org/W2082357899","https://openalex.org/W2115056499","https://openalex.org/W2125378108","https://openalex.org/W2127902590","https://openalex.org/W2276251922","https://openalex.org/W2395137269","https://openalex.org/W2529029828","https://openalex.org/W2551623537","https://openalex.org/W2561675875","https://openalex.org/W2571500349","https://openalex.org/W2752885492","https://openalex.org/W2776089907","https://openalex.org/W2964316344","https://openalex.org/W2995414748","https://openalex.org/W3100606013","https://openalex.org/W3105073936","https://openalex.org/W4235295823","https://openalex.org/W4240200084","https://openalex.org/W4246219036","https://openalex.org/W4389615663","https://openalex.org/W6981486041"],"related_works":["https://openalex.org/W3037448952","https://openalex.org/W4300167273","https://openalex.org/W1493296159","https://openalex.org/W4229364780","https://openalex.org/W2765396134","https://openalex.org/W4320925713","https://openalex.org/W2898932275","https://openalex.org/W4289305650","https://openalex.org/W2240806428","https://openalex.org/W4389408491"],"abstract_inverted_index":{"It":[0],"is":[1,8,121,186,217],"well":[2],"known":[3],"that":[4,109],"Quicksort":[5,172],"--":[6,19],"which":[7,232],"commonly":[9],"considered":[10],"as":[11,200],"one":[12,62],"of":[13,55,72,99,118,158,163,171,180,224,237,252],"the":[14,47,51,67,70,73,84,103,114,139,168,225,257],"fastest":[15],"in-place":[16],"sorting":[17,111,148],"algorithms":[18],"suffers":[20],"in":[21,43,61,77,155,194],"an":[22,153,222],"essential":[23],"way":[24],"from":[25,41],"branch":[26,119],"mispredictions.":[27],"We":[28],"present":[29],"a":[30,78,81,188,195,234,250],"novel":[31],"approach":[32,245],"to":[33,45,246],"addressing":[34],"this":[35],"problem":[36],"by":[37],"partially":[38],"decoupling":[39],"control":[40],"dataflow:":[42],"order":[44],"perform":[46],"partitioning,":[48],"we":[49,92,107,151,241],"split":[50],"input":[52],"into":[53],"blocks":[54],"constant":[56],"size.":[57,141],"Then,":[58],"all":[59],"elements":[60,86,159],"block":[63,140],"are":[64,75,87,145],"compared":[65],"with":[66],"pivot":[68],"and":[69,182,248],"outcomes":[71,98],"comparisons":[74,100],"stored":[76],"buffer.":[79],"In":[80],"second":[82],"pass,":[83],"respective":[85],"rearranged.":[88],"By":[89],"doing":[90],"so,":[91],"avoid":[93],"conditional":[94],"branches":[95],"based":[96],"on":[97,138,212],"(except":[101],"for":[102,133,176],"final":[104],"Insertionsort).":[105],"Moreover,":[106,211],"prove":[108],"when":[110,147],"n":[112,125,127,131],"elements,":[113],"average":[115],"total":[116],"number":[117],"mispredictions":[120],"at":[122],"most":[123],"\u03f5":[124,136],"log":[126],"+":[128],"O":[129],"(":[130],")":[132],"some":[134],"small":[135],"depending":[137],"Our":[142],"experimental":[143],"results":[144],"promising:":[146],"random-integer":[149],"data,":[150],"achieve":[152],"increase":[154],"speed":[156],"(number":[157],"sorted":[160,201,204],"per":[161],"second)":[162],"more":[164,253],"than":[165,221,254],"80%":[166],"over":[167,191,256],"GCC":[169,258],"implementation":[170,216,223,259],"(C++":[173,260],"std::sort).":[174],"Also,":[175],"many":[177],"other":[178],"types":[179],"data":[181],"non-random":[183],"inputs,":[184,205],"there":[185],"still":[187],"significant":[189],"speedup":[190],"std::sort.":[192],"Only":[193],"few":[196],"special":[197],"cases,":[198],"such":[199],"or":[202],"almost":[203],"can":[206],"std::sort":[207],"beat":[208],"our":[209,215,244],"implementation.":[210],"random-input":[213],"permutations,":[214],"even":[218],"slightly":[219],"faster":[220],"highly":[226],"tuned":[227],"Super":[228],"Scalar":[229],"Sample":[230],"Sort,":[231],"uses":[233],"linear":[235],"amount":[236],"additional":[238],"space.":[239],"Finally,":[240],"also":[242],"apply":[243],"Quickselect":[247],"obtain":[249],"speed-up":[251],"100%":[255],"std::nth_element).":[261]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":5},{"year":2022,"cited_by_count":5},{"year":2021,"cited_by_count":2},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":1}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2019-02-21T00:00:00"}
