SMALL RANDOM ARRAYS (n = 1000, iterations = 10000) libstdc++ std::sort 0.376219 sec, 1.00x clay introsort 0.407029 sec, 1.08x clay hybrid quicksort (pointers) 0.437567 sec, 1.16x clay recursive quicksort (pointers) 0.444154 sec, 1.18x clay recursive quicksort (indexing) 0.518358 sec, 1.38x clay iterative quicksort (pointers) 0.553916 sec, 1.47x clay median-of-3 quicksort (pointers) 0.556043 sec, 1.48x clay iterative quicksort (indexing) 0.626767 sec, 1.67x clay median-of-3 quicksort (indexing) 0.632102 sec, 1.68x libc qsort 0.898498 sec, 2.39x python sort 2.354153 sec, 6.26x LARGE RANDOM ARRAYS (n = 100000, iterations = 100) libstdc++ std::sort 0.600721 sec, 1.00x clay introsort 0.629521 sec, 1.05x clay recursive quicksort (pointers) 0.705551 sec, 1.17x clay hybrid quicksort (pointers) 0.708424 sec, 1.18x clay iterative quicksort (pointers) 0.755717 sec, 1.26x clay median-of-3 quicksort (pointers) 0.774119 sec, 1.29x clay recursive quicksort (indexing) 0.811788 sec, 1.35x clay iterative quicksort (indexing) 0.862812 sec, 1.44x clay median-of-3 quicksort (indexing) 0.869308 sec, 1.45x libc qsort 1.423912 sec, 2.37x python sort 4.392655 sec, 7.31x SMALL MOSTLY SORTED ARRAYS libstdc++ std::sort 0.103964 sec, 1.00x clay introsort 0.155118 sec, 1.49x clay hybrid quicksort (pointers) 0.257302 sec, 2.47x libc qsort 0.363681 sec, 3.50x clay median-of-3 quicksort (pointers) 0.411567 sec, 3.96x clay median-of-3 quicksort (indexing) 0.456013 sec, 4.39x clay recursive quicksort (pointers) 0.463043 sec, 4.45x clay recursive quicksort (indexing) 0.526919 sec, 5.07x clay iterative quicksort (pointers) 0.675513 sec, 6.50x clay iterative quicksort (indexing) 0.710536 sec, 6.83x python sort 1.305176 sec, 12.55x LARGE MOSTLY SORTED ARRAYS libstdc++ std::sort 0.127504 sec, 1.00x clay introsort 0.170017 sec, 1.33x libc qsort 0.450897 sec, 3.54x clay hybrid quicksort (pointers) 0.571613 sec, 4.48x clay median-of-3 quicksort (pointers) 0.656219 sec, 5.15x clay median-of-3 quicksort (indexing) 0.810675 sec, 6.36x python sort 0.811441 sec, 6.36x clay recursive quicksort (pointers) 2.146228 sec, 16.83x clay iterative quicksort (pointers) 2.290299 sec, 17.96x clay recursive quicksort (indexing) 2.449711 sec, 19.21x clay iterative quicksort (indexing) 2.483939 sec, 19.48x SMALL MOSTLY REVERSE SORTED ARRAYS libstdc++ std::sort 0.200601 sec, 1.00x clay hybrid quicksort (pointers) 0.260723 sec, 1.30x clay recursive quicksort (pointers) 0.384019 sec, 1.91x clay median-of-3 quicksort (pointers) 0.388021 sec, 1.93x clay introsort 0.425091 sec, 2.12x clay median-of-3 quicksort (indexing) 0.436401 sec, 2.18x clay iterative quicksort (pointers) 0.480382 sec, 2.39x clay recursive quicksort (indexing) 0.505422 sec, 2.52x clay iterative quicksort (indexing) 0.570909 sec, 2.85x libc qsort 0.653288 sec, 3.26x python sort 1.464657 sec, 7.30x LARGE MOSTLY REVERSE SORTED ARRAYS libstdc++ std::sort 0.356649 sec, 1.00x clay hybrid quicksort (pointers) 0.365607 sec, 1.03x clay median-of-3 quicksort (pointers) 0.417731 sec, 1.17x clay median-of-3 quicksort (indexing) 0.512194 sec, 1.44x clay introsort 0.742459 sec, 2.08x clay recursive quicksort (pointers) 0.830550 sec, 2.33x libc qsort 0.841278 sec, 2.36x clay iterative quicksort (pointers) 0.871703 sec, 2.44x python sort 0.888527 sec, 2.49x clay iterative quicksort (indexing) 1.090704 sec, 3.06x clay recursive quicksort (indexing) 1.191463 sec, 3.34x COMBINED RESULTS libstdc++ std::sort 1.765658 sec, 1.00x clay introsort 2.529235 sec, 1.43x clay hybrid quicksort (pointers) 2.601236 sec, 1.47x clay median-of-3 quicksort (pointers) 3.203700 sec, 1.81x clay median-of-3 quicksort (indexing) 3.716693 sec, 2.10x libc qsort 4.631554 sec, 2.62x clay recursive quicksort (pointers) 4.973545 sec, 2.82x clay iterative quicksort (pointers) 5.627530 sec, 3.19x clay recursive quicksort (indexing) 6.003661 sec, 3.40x clay iterative quicksort (indexing) 6.345667 sec, 3.59x python sort 11.216609 sec, 6.35x