SMALL ARRAYS (n = 1000, iterations = 10000) libstdc++ std::sort 0.385945 sec, 1.00x clay introsort 0.397867 sec, 1.03x clay hybrid quicksort (pointers) 0.437430 sec, 1.13x clay recursive quicksort (pointers) 0.444093 sec, 1.15x clay recursive quicksort (indexing) 0.518965 sec, 1.34x clay iterative quicksort (pointers) 0.570217 sec, 1.48x clay median-of-3 quicksort (pointers) 0.570833 sec, 1.48x clay iterative quicksort (indexing) 0.611581 sec, 1.58x clay median-of-3 quicksort (indexing) 0.621571 sec, 1.61x libc qsort 0.890896 sec, 2.31x python sort 2.355286 sec, 6.10x LARGE ARRAYS (n = 100000, iterations = 100) libstdc++ std::sort 0.599681 sec, 1.00x clay introsort 0.614812 sec, 1.03x clay recursive quicksort (pointers) 0.706863 sec, 1.18x clay hybrid quicksort (pointers) 0.708131 sec, 1.18x clay iterative quicksort (pointers) 0.757731 sec, 1.26x clay median-of-3 quicksort (pointers) 0.774304 sec, 1.29x clay recursive quicksort (indexing) 0.832321 sec, 1.39x clay iterative quicksort (indexing) 0.859389 sec, 1.43x clay median-of-3 quicksort (indexing) 0.869502 sec, 1.45x libc qsort 1.425027 sec, 2.38x python sort 4.380979 sec, 7.31x SMALL MOSTLY SORTED ARRAYS libstdc++ std::sort 0.104672 sec, 1.00x clay introsort 0.154352 sec, 1.47x clay hybrid quicksort (pointers) 0.256597 sec, 2.45x libc qsort 0.363880 sec, 3.48x clay median-of-3 quicksort (pointers) 0.411560 sec, 3.93x clay median-of-3 quicksort (indexing) 0.446291 sec, 4.26x clay recursive quicksort (pointers) 0.462713 sec, 4.42x clay recursive quicksort (indexing) 0.526973 sec, 5.03x clay iterative quicksort (pointers) 0.671734 sec, 6.42x clay iterative quicksort (indexing) 0.718601 sec, 6.87x python sort 1.302403 sec, 12.44x LARGE MOSTLY SORTED ARRAYS libstdc++ std::sort 0.127733 sec, 1.00x clay introsort 0.172534 sec, 1.35x libc qsort 0.451550 sec, 3.54x clay hybrid quicksort (pointers) 0.547772 sec, 4.29x clay median-of-3 quicksort (pointers) 0.672165 sec, 5.26x clay median-of-3 quicksort (indexing) 0.804286 sec, 6.30x python sort 0.809703 sec, 6.34x clay recursive quicksort (pointers) 2.129414 sec, 16.67x clay iterative quicksort (pointers) 2.287658 sec, 17.91x clay recursive quicksort (indexing) 2.463293 sec, 19.28x clay iterative quicksort (indexing) 2.483510 sec, 19.44x SMALL MOSTLY REVERSE SORTED ARRAYS libstdc++ std::sort 0.200467 sec, 1.00x clay hybrid quicksort (pointers) 0.261685 sec, 1.31x clay recursive quicksort (pointers) 0.385367 sec, 1.92x clay median-of-3 quicksort (pointers) 0.387861 sec, 1.93x clay introsort 0.423809 sec, 2.11x clay median-of-3 quicksort (indexing) 0.439298 sec, 2.19x clay iterative quicksort (pointers) 0.479391 sec, 2.39x clay recursive quicksort (indexing) 0.493775 sec, 2.46x clay iterative quicksort (indexing) 0.560342 sec, 2.80x libc qsort 0.652274 sec, 3.25x python sort 1.465354 sec, 7.31x LARGE MOSTLY REVERSE SORTED ARRAYS libstdc++ std::sort 0.356128 sec, 1.00x clay hybrid quicksort (pointers) 0.365856 sec, 1.03x clay median-of-3 quicksort (pointers) 0.417686 sec, 1.17x clay median-of-3 quicksort (indexing) 0.512417 sec, 1.44x clay introsort 0.744628 sec, 2.09x clay recursive quicksort (pointers) 0.824225 sec, 2.31x libc qsort 0.841594 sec, 2.36x clay iterative quicksort (pointers) 0.875405 sec, 2.46x python sort 0.886221 sec, 2.49x clay iterative quicksort (indexing) 1.079095 sec, 3.03x clay recursive quicksort (indexing) 1.191447 sec, 3.35x COMBINED RESULTS libstdc++ std::sort 1.774626 sec, 1.00x clay introsort 2.508002 sec, 1.41x clay hybrid quicksort (pointers) 2.577471 sec, 1.45x clay median-of-3 quicksort (pointers) 3.234409 sec, 1.82x clay median-of-3 quicksort (indexing) 3.693365 sec, 2.08x libc qsort 4.625221 sec, 2.61x clay recursive quicksort (pointers) 4.952675 sec, 2.79x clay iterative quicksort (pointers) 5.642136 sec, 3.18x clay recursive quicksort (indexing) 6.026774 sec, 3.40x clay iterative quicksort (indexing) 6.312518 sec, 3.56x python sort 11.199946 sec, 6.31x