Abstract

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.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call