# Engineering faster sorters for small sets of items

@article{Marianczuk2021EngineeringFS, title={Engineering faster sorters for small sets of items}, author={Jasper Marianczuk}, journal={Software: Practice and Experience}, year={2021}, volume={51}, pages={1004 - 965} }

Sorting a set of items is a task that can be useful by itself or as a building block for more complex operations. That is why a lot of effort has been put into finding sorting algorithms that sort large sets as efficiently as possible. But the more sophisticated and complex the algorithms become, the less efficient they are for small sets of items due to large constant factors. A relatively simple sorting algorithm that is often used as a base case sorter is insertion sort, because it has small… Expand

#### Topics from this paper

#### 2 Citations

A novel real-time design for fighting game AI

- Computer Science
- Evol. Syst.
- 2021

The experimental results show that this algorithmic approach towards real-time fighting games via the fighting game AI challenge would provide an excellent AI outperforming pure Monte-Carlo tree search and classic algorithms such as evolutionary algorithms or deep reinforcement learning. Expand

Engineering In-place (Shared-memory) Sorting Algorithms

- Computer Science
- ArXiv
- 2020

This work presents sorting algorithms that represent the fastest known techniques for a wide range of input sizes, input distributions, data types, and machines, and develops a blockwise approach to in-place data distribution that is provably cache-efficient and parallelize this approach taking dynamic load balancing and memory locality into account. Expand

#### References

SHOWING 1-10 OF 59 REFERENCES

Optimizing sorting algorithms by using sorting networks

- Computer Science
- Formal Aspects of Computing
- 2016

The theory of sorting networks can be applied to synthesize optimized general-purpose sorting libraries and using code synthesized from these efficient sorting networks as the base case for Quicksort libraries results in significant real-world speed-ups. Expand

Introspective Sorting and Selection Algorithms

- Computer Science
- 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. Expand

Scalable String and Suffix Sorting: Algorithms, Techniques, and Tools

- Computer Science, Mathematics
- ArXiv
- 2018

This dissertation focuses on two fundamental sorting problems: string sorting and suffix sorting, and proposes both multiway distribution-based with string sample sort and multiway merge-based string sorting with LCP-aware merge and mergesort, and engineer and parallelize both approaches. Expand

A Sorting Problem

- Computer Science
- JACM
- 1962

Two aims of this paper are to find the least number of comparisons needed for sorting n items within the original locations (within the "source file"), 2 and to provide an algorithm employing the leastNumber of comparisons for obtaining a sorted file. Expand

A comparison of sorting algorithms for the connection machine CM-2

- Computer Science
- SPAA '91
- 1991

A fast sorting algorithm for the Connection Machine Supercomputer model CM-2 is developed and it is shown that any U(lg n)-depth family of sorting networks can be used to sort n numbers in U( lg n) time in the bounded-degree fixed interconnection network domain. Expand

Robust Massively Parallel Sorting

- Computer Science
- ALENEX
- 2017

This work investigates distributed memory parallel sorting algorithms that scale to the largest available machines and are robust with respect to input size and distribution of the input elements and designs a new variant of quicksort with fast high-quality pivot selection. Expand

Super Scalar Sample Sort

- Physics, Computer Science
- ESA
- 2004

The main algorithmic insight is that element comparisons can be decoupled from expensive conditional branching using predicated instructions, which facilitates optimizations like loop unrolling and software pipelining. Expand

An empirical study of minimal storage sorting

- Computer Science
- CACM
- 1963

Given a memory area of size A and a record of size S, then the number of records that can be sequenced in memory using the Replacement-Selection technique is A/(S+i) , as compared to A/S for other techniques. Expand

Using SIMD registers and instructions to enable instruction-level parallelism in sorting algorithms

- Computer Science
- SPAA '07
- 2007

This paper uses vector registers and instructions to manipulate data stored in such registers to improve the performance of the tail of recursive sorting algorithms and reduces the time spent by DTSL up to 22% for moderately-sized arrays, with greater relative reductions for small arrays. Expand

Samplesort: A Sampling Approach to Minimal Storage Tree Sorting

- Mathematics, Computer Science
- JACM
- 1970

A procedure is proposed which is a generalization of minimal storage tree sorting and which has the following three properties: there is a significant improvement in the expected number of comparisons required to sort the input sequence, the procedure is statistically insensitive to bias in theinput sequence, and the expected numbers of comparisons approaches the information-theoretic lower bound on the number of compared required. Expand