Safe quicksort implementation.
Add placeholder heapsort switching
Some tweaks. More benchmarks
Add heapsort
Cleaned up.
Reorder functions
Add a check for small arrays before going into `introsort`. This makes sorting small arrays faster.
Use some unsafe code in `insertion_sort` and `partition`.
Add more benchmarks.
Get rid of one redundant maybe_insertion_sort() per sort() call.
Rename 'sort' to 'sort_by'. Add new 'sort'.
Add string sorting benchmark
Switch to unboxed closures for the comparison function.
Minor tweaks.
Recurse on the smallest partition first
Replace complex log2 calculation with intrinsic
Implement dual pivot partition
Fix insertion sort thresholds
Use a simple pivot selection for small center partitions
Rework insertion sort thresholds