# Analysis of Pivot Sampling in Dual-Pivot Quicksort: A Holistic Analysis of Yaroslavskiy’s Partitioning Scheme

@article{Wild2015AnalysisOP, title={Analysis of Pivot Sampling in Dual-Pivot Quicksort: A Holistic Analysis of Yaroslavskiy’s Partitioning Scheme}, author={Sebastian Wild and Markus E. Nebel and Conrado Mart'inez}, journal={Algorithmica}, year={2015}, volume={75}, pages={632-683} }

The new dual-pivot Quicksort by Vladimir Yaroslavskiy—used in Oracle’s Java runtime library since version 7—features intriguing asymmetries. [... ] Key Method Consequently, we take a more holistic approach and give also the precise leading term of the average number of swaps, the number of executed Java Bytecode instructions and the number of scanned elements, a new simple cost measure that approximates I/O costs in the memory hierarchy. We determine optimal order statistics for each of the cost measures. It… Expand

## 17 Citations

Dual-Pivot Quicksort and Beyond: Analysis of Multiway Partitioning and Its Practical Potential

- Computer Science
- 2016

This dissertation conducts a mathematical average-case analysis of multiway Quicksort including the important optimization to choose pivots from a sample of the input and proposes a parametric template algorithm that covers all practically relevant partitioning methods as special cases, and analytically investigates in depth what effect the parameters of the generic quicksort have on its performance.

Dual-pivot and beyond: The potential of multiway partitioning in quicksort

- Computer Scienceit Inf. Technol.
- 2018

This dissertation proved by a comprehensive mathematical analysis of all sensible Quicksort partitioning variants that (a) indeed there is hardly any advantage to be gained from multiway partitioning in terms of the number of comparisons, but (b) multi way partitioning does significantly reduce the amount of data to be moved between CPU and main memory.

Sesquickselect: One and a half pivots for cache-efficient selection

- Computer ScienceANALCO
- 2019

It is shown that "Sesquickselect", a new Quickselect variant that uses either one or two pivots, makes better use of small samples w.r.t. memory transfers than other Quickselect variants.

D S ] 3 1 M ay 2 01 6 A How Good is Multi-Pivot Quicksort ?

- Computer Science
- 2018

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-k approach.

On the Convergence of the Dual-Pivot Quicksort Process

- Computer Science
- 2016

This paper discusses the convergence of the Dual-pivot Quicksort process by using the contraction method and shows the distribution of the number of comparison done by the duality process converges to a unique fixed point.

Simple and Fast BlockQuicksort using Lomuto's Partitioning Scheme

- Computer ScienceALENEX
- 2019

This paper presents simple variants of the BlockQuicksort algorithm described by Edelkamp and Weiss by using Lomuto's partitioning scheme instead of Hoare's crossing pointer technique to partition the input.

Probabilistic Analysis of the Dual-Pivot Quicksort "Count"

- MathematicsANALCO
- 2018

An exact formula is derived for the average number of swaps needed by "Count" as well as an asymptotic formula for the variance of the number of swapped and a limit law are identified.

Why Is Dual-Pivot Quicksort Fast?

- Computer ScienceArXiv
- 2015

The new dual-pivot Quicksort that is nowadays used to sort arrays of primitive types in Java is discussed, and theoretical analyses of this algorithm are sketched that offer a possible, and in my opinion plausible, explanation why this improvement was not already found much earlier.

A Comparison of Sorting Times between Java 8 and Parallel Colt: an Exploratory Experiment

- Computer ScienceSOEN
- 2016

An exploratory experiment found that sorting arrays of random integers using Java 8's parallel sort required only 50%-70% of the time taken using the parallel sort of the Parallel Colt library.…

Dual-Pivot Quicksort: Optimality, Analysis and Zeros of Associated Lattice Paths

- Mathematics, Computer ScienceCombinatorics, Probability and Computing
- 2018

An average-case analysis of a variant of dual-pivot quicksort is presented and it is shown that the algorithmic partitioning strategy used is optimal, that is, it minimizes the expected number of key comparisons.

## References

SHOWING 1-10 OF 49 REFERENCES

Average Case and Distributional Analysis of Dual-Pivot Quicksort

- Computer ScienceACM Trans. Algorithms
- 2015

Surprisingly, Yaroslavskiy's algorithm needs sightly more Bytecode instructions than a simple implementation of classic Quicksort—contradicting observed running times; and it is shown that the (suitably normalized) costs of YaroslavSKY's algorithm converge to a random variable whose distribution is characterized by a fixed-point equation.

Average Case and Distributional Analysis of Java 7's Dual Pivot Quicksort

- Computer ScienceArXiv
- 2013

It is shown that the (suitably normalized) costs of Yaroslavskiy’s algorithm converge to a random variable whose distribution is characterized by a fix point equation that for large n, costs are concentrated about their mean.

Average Case Analysis of Java 7's Dual Pivot Quicksort

- Computer ScienceESA
- 2012

Recently, a new Quicksort variant due to Yaroslavskiy was chosen as standard sorting method for Oracle's Java 7 runtime library. The decision for the change was based on empirical studies showing…

Engineering Java 7's Dual Pivot Quicksort Using MaLiJan

- Computer ScienceALENEX
- 2013

This paper uses the new tool MaLiJAn to confirm that asymmetric pivot choices are preferable to symmetric ones for this Quicksort variant asymptotically for combinatorial cost measures such as the total number of executed instructions.

Analysis of Quickselect Under Yaroslavskiy’s Dual-Pivoting Algorithm

- MathematicsAlgorithmica
- 2014

This investigation shows that Quick select under older partitioning methods slightly outperforms Quickselect under Yaroslavskiy’s algorithm, for an order statistic of a random rank.

Introspective Sorting and Selection Algorithms

- Computer ScienceSoftw. Pract. Exp.
- 1997

This paper describes a simple solution to this dilemma: limit the depth of partitioning, and for subproblems that exceed the limit switch to another algorithm with a better worst‐case bound.

The number of bit comparisons used by Quicksort: an average-case analysis

- Computer ScienceSODA '04
- 2004

The prospect of a fair comparison between algorithms of the two types is introduced by providing an averagecase analysis of the number of bit comparisons required by Quicksort, and a new algorithm, "BitsQuick", that reduces this factor to constant order by eliminating needless bit comparisons.

Multi-Pivot Quicksort : Theory and Experiments

- Computer Science
- 2014

The number of comparisons required to select the i-th smallest of n numbers is shown to be at most a linear function of n by analysis of a new selection algorithm -PICK. Specifically, no more than…

OPTIMAL SAMPLING STRATEGIES IN QUICKSORT AND QUICKSELECT

- Computer Science
- 2001

It is shown in this paper that the optimal sample size to minimize the average total cost of quicksort, as a function of the size n of the current subarray size, is a ·√ n+ o(√n ).

Increasing the efficiency of quicksort

- Computer ScienceCACM
- 1970

The main contribution of this paper is another generaization of quicksort, which uses a bounding interval instead of a single element as bound, which turns c,~t to be easy to implement in a computer program.