SMALL RANDOM ARRAYS (n = 1000, iterations = 10000) libstdc++ std::sort 0.378914 sec, 1.00x clay introsort 0.395195 sec, 1.04x clay hybrid quicksort (pointers) 0.427510 sec, 1.13x clay recursive quicksort (pointers) 0.432527 sec, 1.14x clay recursive quicksort (indexing) 0.517894 sec, 1.37x clay iterative quicksort (pointers) 0.570015 sec, 1.50x clay median-of-3 quicksort (pointers) 0.571929 sec, 1.51x clay iterative quicksort (indexing) 0.612528 sec, 1.62x clay median-of-3 quicksort (indexing) 0.621333 sec, 1.64x libc qsort 0.918535 sec, 2.42x python sort 2.349005 sec, 6.20x LARGE RANDOM ARRAYS (n = 100000, iterations = 100) libstdc++ std::sort 0.605400 sec, 1.00x clay introsort 0.624071 sec, 1.03x clay recursive quicksort (pointers) 0.684918 sec, 1.13x clay hybrid quicksort (pointers) 0.707288 sec, 1.17x clay iterative quicksort (pointers) 0.726608 sec, 1.20x clay median-of-3 quicksort (pointers) 0.774652 sec, 1.28x clay recursive quicksort (indexing) 0.832752 sec, 1.38x clay iterative quicksort (indexing) 0.858940 sec, 1.42x clay median-of-3 quicksort (indexing) 0.869009 sec, 1.44x libc qsort 1.414360 sec, 2.34x python sort 4.376269 sec, 7.23x SMALL MOSTLY SORTED ARRAYS libstdc++ std::sort 0.107612 sec, 1.00x clay introsort 0.156378 sec, 1.45x clay hybrid quicksort (pointers) 0.256645 sec, 2.38x libc qsort 0.359873 sec, 3.34x clay median-of-3 quicksort (pointers) 0.411827 sec, 3.83x clay median-of-3 quicksort (indexing) 0.455653 sec, 4.23x clay recursive quicksort (pointers) 0.462478 sec, 4.30x clay recursive quicksort (indexing) 0.537994 sec, 5.00x clay iterative quicksort (pointers) 0.689485 sec, 6.41x clay iterative quicksort (indexing) 0.709304 sec, 6.59x python sort 1.301875 sec, 12.10x LARGE MOSTLY SORTED ARRAYS libstdc++ std::sort 0.126914 sec, 1.00x clay introsort 0.170631 sec, 1.34x libc qsort 0.449047 sec, 3.54x clay hybrid quicksort (pointers) 0.548087 sec, 4.32x clay median-of-3 quicksort (pointers) 0.656449 sec, 5.17x clay median-of-3 quicksort (indexing) 0.810219 sec, 6.38x python sort 0.848090 sec, 6.68x clay recursive quicksort (pointers) 2.128197 sec, 16.77x clay iterative quicksort (pointers) 2.287371 sec, 18.02x clay recursive quicksort (indexing) 2.448226 sec, 19.29x clay iterative quicksort (indexing) 2.486846 sec, 19.59x SMALL MOSTLY REVERSE SORTED ARRAYS libstdc++ std::sort 0.202803 sec, 1.00x clay hybrid quicksort (pointers) 0.254505 sec, 1.25x clay recursive quicksort (pointers) 0.384604 sec, 1.90x clay median-of-3 quicksort (pointers) 0.387519 sec, 1.91x clay introsort 0.422270 sec, 2.08x clay median-of-3 quicksort (indexing) 0.436219 sec, 2.15x clay iterative quicksort (pointers) 0.479448 sec, 2.36x clay recursive quicksort (indexing) 0.494239 sec, 2.44x clay iterative quicksort (indexing) 0.570598 sec, 2.81x libc qsort 0.645666 sec, 3.18x python sort 1.464955 sec, 7.22x LARGE MOSTLY REVERSE SORTED ARRAYS libstdc++ std::sort 0.313747 sec, 1.00x clay hybrid quicksort (pointers) 0.365614 sec, 1.17x clay median-of-3 quicksort (pointers) 0.423310 sec, 1.35x clay median-of-3 quicksort (indexing) 0.512610 sec, 1.63x clay introsort 0.742340 sec, 2.37x clay recursive quicksort (pointers) 0.829899 sec, 2.65x libc qsort 0.838188 sec, 2.67x clay iterative quicksort (pointers) 0.875074 sec, 2.79x python sort 0.886645 sec, 2.83x clay iterative quicksort (indexing) 1.090521 sec, 3.48x clay recursive quicksort (indexing) 1.190914 sec, 3.80x COMBINED RESULTS libstdc++ std::sort 1.735390 sec, 1.00x clay introsort 2.510885 sec, 1.45x clay hybrid quicksort (pointers) 2.559649 sec, 1.47x clay median-of-3 quicksort (pointers) 3.225686 sec, 1.86x clay median-of-3 quicksort (indexing) 3.705043 sec, 2.13x libc qsort 4.625669 sec, 2.67x clay recursive quicksort (pointers) 4.922623 sec, 2.84x clay iterative quicksort (pointers) 5.628001 sec, 3.24x clay recursive quicksort (indexing) 6.022019 sec, 3.47x clay iterative quicksort (indexing) 6.328737 sec, 3.65x python sort 11.226839 sec, 6.47x