Several techniques for sorting item are described, generally referred to
as (1) common prefix skipping quicksort; (2) key substring caching; and
(3) adaptive quicksort. With common prefix skipping quicksort, common
prefix bytes among all key values for a partition are computed while
performing a quicksort partitioning operation, and the known common bytes
are skipped when comparing two key values in a recursive partitioning
operation. With key substring caching, each item is represented in a
cached array comprising a particular number of bytes for respective
portions of key values ("key substring"), where the key substring cache
is updated contain bytes beyond the known number of common prefix bytes.
An adaptive quicksort routine is a hybrid of a quicksort function and
most significant digit radix sort function, where the functions are
mutually recursive.