当前位置: X-MOL 学术Softw. Pract. Exp. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Engineering faster sorters for small sets of items
Software: Practice and Experience ( IF 3.5 ) Pub Date : 2020-11-02 , DOI: 10.1002/spe.2922
Timo Bingmann 1 , Jasper Marianczuk 1 , Peter Sanders 1
Affiliation  

Sorting a set of items is a task that can be useful by itself or as a building block for more complex operations. The more sophisticated and fast sorting algorithms become asymptotically, the less efficient they are for small sets of items due to large constant factor. This thesis aims to determine if there is a faster way to sort base case sizes than using insertion sort. For that we looked at sorting networks and how to implement them efficiently. Because sorting networks need to be implemented explicitly for each input size, providing networks for larger sizes becomess less efficient. That is why we modified Super Scalar Sample Sort to break down larger sets into sizes that can in turn be sorted by sorting networks. We show that the task of sorting only small sets can be greatly improved by at least 25% when using sorting networks compared to insertion sort, but that when integrating them into other sorting algorithms the speed-up is hindered by the limited L1 instruction cache size. On a machine with 64KiB of L1 instruction cache we achieved over 6% of improvement when using sorting networks as a base case sorter instead of insertion sort.

中文翻译:

为小件物品设计更快的分拣机

对一组项目进行排序是一项任务,它本身很有用,也可以作为更复杂操作的构建块。渐近的排序算法越复杂、越快,由于常数因子大,它们对小项目集的效率就越低。本文旨在确定是否有一种比使用插入排序更快的方法来对基本案例大小进行排序。为此,我们研究了排序网络以及如何有效地实现它们。由于需要为每个输入大小明确实现排序网络,因此为较大的大小提供网络变得效率较低。这就是为什么我们修改了 Super Scalar Sample Sort 以将较大的集合分解为可以通过排序网络进行排序的大小。我们表明,与插入排序相比,使用排序网络时,仅对小集合进行排序的任务可以大大提高至少 25%,但是当将它们集成到其他排序算法中时,有限的 L1 指令缓存大小阻碍了加速. 在具有 64KiB 的 L1 指令缓存的机器上,当使用排序网络作为基本案例排序器而不是插入排序时,我们实现了超过 6% 的改进。
更新日期:2020-11-02
down
wechat
bug