python bench.py SMALL RANDOM ARRAYS (n = 1000, iterations = 10000) clay introsort (threshold 32) 0.355965 sec, 1.00x clay introsort (new partitioning) 0.375129 sec, 1.05x libstdc++ std::sort 0.377974 sec, 1.06x clay introsort 0.394440 sec, 1.11x clay hybrid quicksort (pointers) 0.440278 sec, 1.24x clay simple quicksort (pointers) 0.560612 sec, 1.57x clay median-of-3 quicksort (pointers) 0.562599 sec, 1.58x libc qsort 0.888909 sec, 2.50x python sort 2.351938 sec, 6.61x LARGE RANDOM ARRAYS (n = 100000, iterations = 100) clay introsort (threshold 32) 0.602405 sec, 1.00x libstdc++ std::sort 0.604352 sec, 1.00x clay introsort (new partitioning) 0.620747 sec, 1.03x clay introsort 0.622308 sec, 1.03x clay hybrid quicksort (pointers) 0.682247 sec, 1.13x clay simple quicksort (pointers) 0.752508 sec, 1.25x clay median-of-3 quicksort (pointers) 0.774288 sec, 1.29x libc qsort 1.411224 sec, 2.34x python sort 4.394425 sec, 7.29x SMALL MOSTLY SORTED ARRAYS clay introsort (threshold 32) 0.092387 sec, 1.00x libstdc++ std::sort 0.107003 sec, 1.16x clay introsort (new partitioning) 0.108199 sec, 1.17x clay introsort 0.145887 sec, 1.58x clay hybrid quicksort (pointers) 0.260126 sec, 2.82x libc qsort 0.360832 sec, 3.91x clay median-of-3 quicksort (pointers) 0.413711 sec, 4.48x clay simple quicksort (pointers) 0.679120 sec, 7.35x python sort 1.307527 sec, 14.15x LARGE MOSTLY SORTED ARRAYS clay introsort (threshold 32) 0.115920 sec, 1.00x libstdc++ std::sort 0.130352 sec, 1.12x clay introsort (new partitioning) 0.132311 sec, 1.14x clay introsort 0.167385 sec, 1.44x libc qsort 0.450753 sec, 3.89x clay hybrid quicksort (pointers) 0.551460 sec, 4.76x clay median-of-3 quicksort (pointers) 0.660797 sec, 5.70x python sort 0.814818 sec, 7.03x clay simple quicksort (pointers) 2.288841 sec, 19.75x COMBINED RESULTS clay introsort (threshold 32) 1.166677 sec, 1.00x libstdc++ std::sort 1.219681 sec, 1.05x clay introsort (new partitioning) 1.236386 sec, 1.06x clay introsort 1.330020 sec, 1.14x clay hybrid quicksort (pointers) 1.934111 sec, 1.66x clay median-of-3 quicksort (pointers) 2.411395 sec, 2.07x libc qsort 3.111718 sec, 2.67x clay simple quicksort (pointers) 4.281081 sec, 3.67x python sort 8.868708 sec, 7.60x