mlochbaum / distcrum

The distribution crumsort experiment

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Distribution crumsort

The ideas here have been incorporated into Singeli sort, and this repository won't be developed further.

What was it? An experiment to give crumsort access to powerful distribution sorting algorithms. 4-byte sorting was augmented with the following methods:

Method Memory Requires Top speed Adaptive
Counting sort range ~1ns/v no
Packed radix sort 2KB range <=2^16 ~4ns/v no
Robin Hood Sort >=2.5*length uniformity ~5ns/v yes

Packed radix sort works like ska_sort_copy, but takes advantage of values fitting in a 2-byte range by packing them into two bytes each and sorting in the space freed this way. Robin Hood Sort is backed by quadsort, but can be somewhat slower than fluxsort when the array contains enough values that are close together. It's used only when a scan of pivot candidates indicates this is unlikely.

About

The distribution crumsort experiment

License:MIT License


Languages

Language:C 100.0%