2020
DOI: 10.1002/spe.2922
|View full text |Cite
|
Sign up to set email alerts
|

Engineering faster sorters for small sets of items

Abstract: 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 code size and s… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1

Citation Types

0
3
0

Year Published

2020
2020
2023
2023

Publication Types

Select...
4
1
1

Relationship

2
4

Authors

Journals

citations
Cited by 7 publications
(3 citation statements)
references
References 31 publications
(44 reference statements)
0
3
0
Order By: Relevance
“…We used the Highway cross‐platform abstraction layer for implementing vqsort (vectorized quicksort) and utilizing the most efficient instructions available on the current CPU. The algorithm features a new recursive sorting network for up to 256 elements that mitigates the previously reported 23 problem of excessive code size, and also a vector‐friendly pivot sampling, with the surprising result that robustness versus adversarial input increases CPU cost by less than 2%.…”
Section: Discussionmentioning
confidence: 99%
See 1 more Smart Citation
“…We used the Highway cross‐platform abstraction layer for implementing vqsort (vectorized quicksort) and utilizing the most efficient instructions available on the current CPU. The algorithm features a new recursive sorting network for up to 256 elements that mitigates the previously reported 23 problem of excessive code size, and also a vector‐friendly pivot sampling, with the surprising result that robustness versus adversarial input increases CPU cost by less than 2%.…”
Section: Discussionmentioning
confidence: 99%
“…We now handle small arrays separately as a "base case" of the recursion, a common optimization for quicksort. 6,23 Sorting networks built upon vector instructions can have much lower constant factors than other algorithms because they execute fewer instructions and avoid conditional branches. For moderate input sizes, this outweighs their higher O(n ⋅ log 2 (n)) complexity.…”
Section: Base Casementioning
confidence: 99%
“…We now handle small arrays separately as a 'base case' of the recursion, a common optimization for Quicksort [6,23]. Sorting networks built upon vector instructions can have much lower constant factors than other algorithms because they execute fewer instructions and avoid conditional branches.…”
Section: Base Casementioning
confidence: 99%