...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 ...)
The benchmark runs over a VirtualBox virtual machine with 8 threads and 16 GB of RAM, running over a Intel(R) Core(TM) i7-5820K CPU @ 3.30GHz with 6 cores and 2 threads by core, and 15M of cache.
The Operating System is Windows 10 64 bits, and the compiler is VC2017
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| spin_sort |stable_sort|spreadsort | ----------------------------+-----------+-----------+-----------+-----------+-----------+-----------+ random | 11.74 | 9.40 | 13.42 | 12.12 | 13.17 | 7.10 | | | | | | | | sorted | 1.93 | 0.16 | 4.43 | 0.12 | 0.09 | 0.09 | sorted + 0.1% end | 3.54 | 2.08 | 4.39 | 0.87 | 0.48 | 5.87 | sorted + 1% end | 4.52 | 2.77 | 4.82 | 1.12 | 1.00 | 7.20 | sorted + 10% end | 9.69 | 5.99 | 7.40 | 2.21 | 2.29 | 8.59 | | | | | | | | sorted + 0.1% middle | 3.66 | 2.43 | 4.74 | 2.63 | 3.84 | 5.59 | sorted + 1% middle | 4.36 | 3.04 | 4.97 | 4.35 | 6.21 | 9.20 | sorted + 10% middle | 9.50 | 7.28 | 7.44 | 5.37 | 8.03 | 9.95 | | | | | | | | reverse sorted | 2.38 | 0.35 | 5.61 | 0.24 | 0.18 | 2.84 | reverse sorted + 0.1% end | 4.24 | 2.64 | 5.72 | 0.96 | 0.67 | 6.66 | reverse sorted + 1% end | 4.44 | 2.67 | 5.22 | 1.10 | 0.86 | 5.68 | reverse sorted + 10% end | 6.93 | 4.98 | 6.27 | 2.00 | 1.95 | 7.37 | | | | | | | | reverse sorted + 0.1% middle| 4.63 | 3.18 | 5.76 | 3.18 | 5.22 | 7.52 | reverse sorted + 1% middle| 4.38 | 3.06 | 4.94 | 3.10 | 4.54 | 6.55 | reverse sorted + 10% middle| 9.20 | 7.08 | 7.56 | 5.28 | 7.40 | 9.04 | | | | | | | |