SMALL RANDOM INT ARRAYS (n = 1000, iterations = 10000) clay introsort (tweaked threshold) 0.359347 sec, 1.00x libstdc++ std::sort 0.372655 sec, 1.04x clay introsort (tweaked partitioning) 0.379074 sec, 1.05x clay introsort 0.386808 sec, 1.08x clay hybrid quicksort (pointers) 0.433886 sec, 1.21x clay simple quicksort (pointers) 0.552421 sec, 1.54x clay median-of-3 quicksort (pointers) 0.555611 sec, 1.55x libc qsort 0.888804 sec, 2.47x python's sort (timsort) 2.352094 sec, 6.55x LARGE RANDOM INT ARRAYS (n = 100000, iterations = 100) libstdc++ std::sort 0.605780 sec, 1.00x clay introsort 0.632115 sec, 1.04x clay introsort (tweaked threshold) 0.632853 sec, 1.04x clay introsort (tweaked partitioning) 0.636546 sec, 1.05x clay hybrid quicksort (pointers) 0.703516 sec, 1.16x clay simple quicksort (pointers) 0.745271 sec, 1.23x clay median-of-3 quicksort (pointers) 0.768522 sec, 1.27x libc qsort 1.412472 sec, 2.33x python's sort (timsort) 4.386822 sec, 7.24x SMALL MOSTLY SORTED INT ARRAYS (iterations = 50000) clay introsort (tweaked threshold) 0.448754 sec, 1.00x libstdc++ std::sort 0.531186 sec, 1.18x clay introsort (tweaked partitioning) 0.534430 sec, 1.19x clay introsort 0.691529 sec, 1.54x clay hybrid quicksort (pointers) 1.258547 sec, 2.80x libc qsort 1.799303 sec, 4.01x clay median-of-3 quicksort (pointers) 2.047260 sec, 4.56x clay simple quicksort (pointers) 3.330707 sec, 7.42x python's sort (timsort) 6.532643 sec, 14.56x LARGE MOSTLY SORTED INT ARRAYS (iterations = 500) clay introsort (tweaked threshold) 0.582357 sec, 1.00x libstdc++ std::sort 0.642901 sec, 1.10x clay introsort (tweaked partitioning) 0.658527 sec, 1.13x clay introsort 0.798385 sec, 1.37x libc qsort 2.244745 sec, 3.85x clay hybrid quicksort (pointers) 2.714470 sec, 4.66x clay median-of-3 quicksort (pointers) 3.262813 sec, 5.60x python's sort (timsort) 4.037112 sec, 6.93x clay simple quicksort (pointers) 11.374468 sec, 19.53x COMBINED RESULTS clay introsort (tweaked threshold) 2.023311 sec, 1.00x libstdc++ std::sort 2.152522 sec, 1.06x clay introsort (tweaked partitioning) 2.208577 sec, 1.09x clay introsort 2.508837 sec, 1.24x clay hybrid quicksort (pointers) 5.110419 sec, 2.53x libc qsort 6.345324 sec, 3.14x clay median-of-3 quicksort (pointers) 6.634206 sec, 3.28x clay simple quicksort (pointers) 16.002867 sec, 7.91x python's sort (timsort) 17.308671 sec, 8.55x