[][src]Crate rdx

rdx is a collection of generic algorithms and traits designed to make using radix sort easier both for primitive and custom data types.

Radix sort has excellent performance characteristics, but has more requirements on the keys to be sorted, and hence is somewhat rarely used. The goal of this package is to provide easy-to-use radix sort implementations for a variety of types and to make it easy to implement radix sort for your own custom types.

Eventually, we plan to add a hybrid radix-comparison sort so as to allow obtaining the benefits of radix sorts for compound types in general, even if all the components only satisfy Ord.

Modules

byte_sort

ska sort arrays of bytes. Used as a building block for radix sort algorithms, and to delegate sorts on arrays of u8. Based off the code found in the blog post and on GitHub

ska_sort

An implementation of ska sort, based off the code found in the blog post and on GitHub

util

Various utilities for building radix sorts

Structs

KeyLengthOf

Get the key length function associated with a given key extraction function

Constants

DEFAULT_MAX_DEPTH_THRESHOLD

Default maximum depth threshold to force sorting algorithm switch (to avoid heap allocation)

Traits

ConstRadixSortKey

A radix sort key known to have a constant key length

KeyLength

A radix sort key length function

RadixSortKey

A key which can be used for radix sorts