...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
This library contains a benchmark folder with programs to measure the speed of the algorithms on your machine and operating system. These are short benchmarks to test speed with different kinds of data ( random, sorted, sorted plus unsorted append at end ...)
This was run on a Intel(R) Core(TM) i7-5820K CPU @ 3.30GHz, with 6 cores and 2 threads by core, and 15M of cache
The results obtained with GCC 6.3 on Linux, in the benchmark_numbers with integers are:
Near Sorted Data With 100 000 000 64 bits Integers
benchmark/single/benchmark_numbers.cpp : This benchmark shows the results obtained with several kind of integers numbers (random, and near sorted).
The benchmarks with strings and objects of different sizes are not showed here, but you can obtain running the benchmark_strings.cpp ans benchmarks_objects.cpp programs.
| | | | | | | | | |std:: | |flat_ | | | std::sort | pdqsort |stable_sort| spinsort |stable_sort|spreadsort | ----------------------------+-----------+-----------+-----------+-----------+-----------+-----------+ random | 8.21 | 3.99 | 8.62 | 9.73 | 10.80 | 4.26 | | | | | | | | sorted | 1.84 | 0.13 | 4.88 | 0.06 | 0.07 | 0.06 | sorted + 0.1% end | 6.41 | 2.91 | 4.92 | 0.41 | 0.36 | 3.16 | sorted + 1% end | 14.15 | 3.39 | 4.97 | 0.55 | 0.49 | 3.65 | sorted + 10% end | 6.72 | 4.15 | 5.73 | 1.32 | 1.40 | 4.39 | | | | | | | | sorted + 0.1% middle | 4.41 | 3.31 | 6.58 | 1.89 | 2.61 | 3.29 | sorted + 1% middle | 4.39 | 3.62 | 7.06 | 2.12 | 3.07 | 3.80 | sorted + 10% middle | 6.35 | 4.71 | 9.56 | 4.02 | 5.49 | 4.99 | | | | | | | | reverse sorted | 1.36 | 0.26 | 5.12 | 0.13 | 0.14 | 1.87 | reverse sorted + 0.1% end | 7.57 | 2.92 | 5.22 | 0.52 | 0.42 | 2.83 | reverse sorted + 1% end | 4.99 | 3.33 | 5.29 | 0.66 | 0.55 | 3.45 | reverse sorted + 10% end | 4.62 | 4.16 | 6.03 | 1.45 | 1.44 | 4.35 | | | | | | | | reverse sorted + 0.1% middle| 4.38 | 3.29 | 6.52 | 1.89 | 2.54 | 3.28 | reverse sorted + 1% middle| 4.43 | 3.65 | 7.09 | 2.12 | 3.09 | 3.81 | reverse sorted + 10% middle| 6.42 | 4.70 | 9.46 | 4.02 | 5.53 | 5.00 | | | | | | | |