English
Related papers

Related papers: Analysis of Branch Misses in Quicksort

200 papers

The new dual-pivot Quicksort by Vladimir Yaroslavskiy - used in Oracle's Java runtime library since version 7 - features intriguing asymmetries. They make a basic variant of this algorithm use less comparisons than classic single-pivot…

Data Structures and Algorithms · Computer Science 2015-08-11 Sebastian Wild , Markus E. Nebel , Conrado Martínez

The new dual-pivot Quicksort by Vladimir Yaroslavskiy - used in Oracle's Java runtime library since version 7 - features intriguing asymmetries in its behavior. They were shown to cause a basic variant of this algorithm to use less…

Data Structures and Algorithms · Computer Science 2014-06-16 Markus E. Nebel , Sebastian Wild

In 2009, Oracle replaced the long-serving sorting algorithm in its Java 7 runtime library by a new dual-pivot Quicksort variant due to Vladimir Yaroslavskiy. The decision was based on the strikingly good performance of Yaroslavskiy's…

Data Structures and Algorithms · Computer Science 2015-02-16 Sebastian Wild , Markus E. Nebel , Ralph Neininger

Multi-Pivot Quicksort refers to variants of classical quicksort where in the partitioning step $k$ pivots are used to split the input into $k + 1$ segments. For many years, multi-pivot quicksort was regarded as impractical, but in 2009 a…

Data Structures and Algorithms · Computer Science 2016-06-01 Martin Aumüller , Martin Dietzfelbinger , Pascal Klaue

Dual-pivot quicksort refers to variants of classical quicksort where in the partitioning step two pivots are used to split the input into three segments. This can be done in different ways, giving rise to different algorithms. Recently, a…

Data Structures and Algorithms · Computer Science 2015-10-14 Martin Aumüller , Martin Dietzfelbinger

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 that on average, the new algorithm is faster…

Data Structures and Algorithms · Computer Science 2013-10-29 Sebastian Wild , Markus E. Nebel

Since the work of Kaligosi and Sanders (2006), it is well-known that Quicksort -- which is commonly considered as one of the fastest in-place sorting algorithms -- suffers in an essential way from branch mispredictions. We present a novel…

Data Structures and Algorithms · Computer Science 2016-06-27 Stefan Edelkamp , Armin Weiß

There is excitement within the algorithms community about a new partitioning method introduced by Yaroslavskiy. This algorithm renders Quicksort slightly faster than the case when it runs under classic partitioning methods. We show that…

Data Structures and Algorithms · Computer Science 2014-11-18 Sebastian Wild , Markus E. Nebel , Hosam Mahmoud

In this paper, we analyse the dual pivot Quicksort, a variant of the standard Quicksort algorithm, in which two pivots are used for the partitioning of the array. We are solving recurrences of the expected number of key comparisons and…

Data Structures and Algorithms · Computer Science 2015-03-31 Vasileios Iliopoulos , David B. Penman

Sorting algorithms have attracted a great deal of attention and study, as they have numerous applications to Mathematics, Computer Science and related fields. In this thesis, we first deal with the mathematical analysis of the Quicksort…

Data Structures and Algorithms · Computer Science 2015-10-05 Vasileios Iliopoulos

This paper quantifies the impact of branches and branch mispredictions on the single-core performance for two classes of graph problems. Specifically, we consider classical algorithms for computing connected components and breadth-first…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-11-11 Oded Green , Marat Dukhan , Richard Vuduc

Because of unmatched improvements in CPU performance, memory transfers have become a bottleneck of program execution. As discovered in recent years, this also affects sorting in internal memory. Since partitioning around several pivots…

Data Structures and Algorithms · Computer Science 2019-05-07 Conrado Martínez , Markus Nebel , Sebastian Wild

I discuss the new dual-pivot Quicksort that is nowadays used to sort arrays of primitive types in Java. I sketch theoretical analyses of this algorithm that offer a possible, and in my opinion plausible, explanation why (a) dual-pivot…

Data Structures and Algorithms · Computer Science 2016-09-29 Sebastian Wild

Much of the copious literature on the subject of sorting has concentrated on minimizing the number of comparisons and/or exchanges/copies. However, a more appropriate yardstick for the performance of sorting algorithms is based on the total…

Data Structures and Algorithms · Computer Science 2020-12-03 R. C. Hillyard , Yunlu Liaozheng , Sai Vineeth K. R

We analyse a generalisation of the Quicksort algorithm, where k uniformly at random chosen pivots are used for partitioning an array of n distinct keys. Specifically, the expected cost of this scheme is obtained, under the assumption of…

Data Structures and Algorithms · Computer Science 2018-09-05 Vasileios Iliopoulos

Smoothed analysis is a framework for analyzing the complexity of an algorithm, acting as a bridge between average and worst-case behaviour. For example, Quicksort and the Simplex algorithm are widely used in practical applications, despite…

Machine Learning · Computer Science 2015-03-29 Bichen Shi , Michel Schellekens , Georgiana Ifrim

The analyses of many algorithms and data structures (such as digital search trees) for searching and sorting are based on the representation of the keys involved as bit strings and so count the number of bit comparisons. On the other hand,…

Probability · Mathematics 2012-02-14 James Allen Fill , Svante Janson

Branch prediction is an architectural feature that speeds up the execution of branch instruction on pipeline processors and reduces the cost of branching. Recent advancements of Deep Learning (DL) in the post Moore's Law era is accelerating…

Hardware Architecture · Computer Science 2022-01-03 Rinu Joseph

Sorting is one of the most basic algorithms, and developing highly parallel sorting programs is becoming increasingly important in high-performance computing because the number of CPU cores per node in modern supercomputers tends to…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-09-08 Tomoyuki Tokuue , Tomoaki Ishiyama

We consider the fundamental problem of internally sorting a sequence of $n$ elements. In its best theoretical setting QuickMergesort, a combination Quicksort with Mergesort with a Median-of-$\sqrt{n}$ pivot selection, requires at most $n…

Data Structures and Algorithms · Computer Science 2018-04-27 Stefan Edelkamp , Armin Weiß
‹ Prev 1 2 3 10 Next ›