How Good is Multi-Pivot Quicksort?
Martin Aum\"uller, Martin Dietzfelbinger, and Pascal Klaue

TL;DR
This paper evaluates the theoretical and practical advantages of multi-pivot quicksort algorithms, finding marginal comparison benefits but notable improvements in partitioning efficiency and cache behavior with 3 to 5 pivots.
Contribution
It introduces comparison-optimal multi-pivot quicksort algorithms, analyzes their partitioning costs, and provides design insights for practical implementations.
Findings
Multiple pivots offer limited comparison count benefits.
Partitioning cost is dominated by element rearrangement.
Using 3 to 5 pivots improves cache performance and aligns with observed running times.
Abstract
Multi-Pivot Quicksort refers to variants of classical quicksort where in the partitioning step pivots are used to split the input into segments. For many years, multi-pivot quicksort was regarded as impractical, but in 2009 a 2-pivot approach by Yaroslavskiy, Bentley, and Bloch was chosen as the standard sorting algorithm in Sun's Java 7. In 2014 at ALENEX, Kushagra et al. introduced an even faster algorithm that uses three pivots. This paper studies what possible advantages multi-pivot quicksort might offer in general. The contributions are as follows: Natural comparison-optimal algorithms for multi-pivot quicksort are devised and analyzed. The analysis shows that the benefits of using multiple pivots with respect to the average comparison count are marginal and these strategies are inferior to simpler strategies such as the well known median-of- approach. A substantial…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAlgorithms and Data Compression · Parallel Computing and Optimization Techniques · VLSI and FPGA Design Techniques
