Skip to content
Igor Kushnir edited this page Jan 15, 2021 · 2 revisions

bench_merge on Manjaro GNU/Linux, GCC 10.2

Commands/compiler info:

c++ -v
Using built-in specs.
...
Target: x86_64-pc-linux-gnu
...
gcc version 10.2.0 (GCC)
c++ -I ../include -Wall -Wextra -g -DNDEBUG -O2 -std=c++11 bench_merge.cpp -o bench_merge
./bench_merge

Output:

size	100000
RANDOMIZED SEQUENCE
[int]
middle\algorithm:	std::inplace_merge	timmerge
         0       	  0.099000        	  0.097000
         1       	  6.408000        	  1.019000
         2       	  6.419000        	  1.105000
         5       	 14.260000        	  2.302000
       100       	 14.355000        	  3.450000
      1000       	 15.300000        	 10.550000
      5000       	 19.167000        	 28.145000
     20000       	 33.008000        	 35.396000
     33333       	 43.410000        	 45.772000
     50000       	 48.549000        	 50.034000
     75000       	 33.907000        	 41.111000
     85714       	 24.544000        	 30.626000
     96000       	 14.889000        	 30.067000
     98901       	 12.156000        	 12.404000
     99915       	 10.919000        	  3.323000
     99992       	 10.607000        	  2.329000
     99998       	  8.719000        	  1.761000
     99999       	  8.759000        	  1.828000
    100000       	  0.102000        	  0.097000
approx. average  	 33.492257        	 38.055953
[std::string]
middle\algorithm:	std::inplace_merge	timmerge
         0       	  0.161000        	  0.149000
         1       	243.465000        	 58.712000
         2       	282.954000        	 77.090000
         5       	275.142000        	 78.470000
       100       	285.490000        	 88.177000
      1000       	289.331000        	122.228000
      5000       	303.853000        	185.560000
     20000       	321.278000        	212.388000
     33333       	340.448000        	239.600000
     50000       	356.001000        	260.160000
     75000       	324.194000        	213.907000
     85714       	310.052000        	202.720000
     96000       	301.910000        	169.334000
     98901       	300.399000        	111.863000
     99915       	293.499000        	 79.873000
     99992       	246.202000        	 55.575000
     99998       	244.713000        	 53.964000
     99999       	235.370000        	 51.937000
    100000       	  0.169000        	  0.166000
approx. average  	326.214047        	214.629334
REVERSED SEQUENCE
[int]
middle\algorithm:	std::inplace_merge	timmerge
         0       	  0.098000        	  0.097000
         1       	 14.329000        	  2.295000
         2       	 14.312000        	  2.321000
         5       	 14.308000        	  2.099000
       100       	 14.293000        	  2.122000
      1000       	 14.216000        	  2.748000
      5000       	 13.978000        	  3.735000
     20000       	 12.749000        	  3.932000
     33333       	 11.719000        	  4.454000
     50000       	 10.353000        	  5.067000
     75000       	  9.904000        	  4.096000
     85714       	 10.347000        	  4.337000
     96000       	 10.883000        	  2.552000
     98901       	 10.997000        	  2.226000
     99915       	 11.060000        	  2.332000
     99992       	 11.067000        	  2.116000
     99998       	 11.070000        	  2.344000
     99999       	 11.089000        	  2.156000
    100000       	  0.098000        	  0.097000
approx. average  	 11.328833        	  4.126918
[std::string]
middle\algorithm:	std::inplace_merge	timmerge
         0       	  0.170000        	  0.188000
         1       	291.219000        	 73.923000
         2       	290.070000        	 83.726000
         5       	288.565000        	 82.547000
       100       	287.755000        	 83.422000
      1000       	287.650000        	 89.091000
      5000       	288.609000        	 91.458000
     20000       	280.915000        	104.462000
     33333       	269.270000        	117.822000
     50000       	276.682000        	134.496000
     75000       	283.905000        	107.088000
     85714       	292.578000        	 88.479000
     96000       	290.071000        	 80.136000
     98901       	295.176000        	 78.434000
     99915       	292.159000        	 72.408000
     99992       	291.328000        	 77.696000
     99998       	305.206000        	 72.088000
     99999       	287.950000        	 75.331000
    100000       	  0.169000        	  0.167000
approx. average  	281.925539        	107.483879
SORTED SEQUENCE
[int]
middle\algorithm:	std::inplace_merge	timmerge
         0       	  0.100000        	  0.094000
         1       	  0.146000        	  0.122000
         2       	  0.123000        	  0.122000
         5       	  0.126000        	  0.122000
       100       	  0.143000        	  0.124000
      1000       	  0.298000        	  0.123000
      5000       	  1.031000        	  0.128000
     20000       	  3.704000        	  0.129000
     33333       	  5.961000        	  0.129000
     50000       	  8.903000        	  0.131000
     75000       	  3.653000        	  0.137000
     85714       	  2.223000        	  0.135000
     96000       	  0.713000        	  0.134000
     98901       	  0.290000        	  0.137000
     99915       	  0.145000        	  0.137000
     99992       	  0.132000        	  0.144000
     99998       	  0.133000        	  0.142000
     99999       	  0.133000        	  0.149000
    100000       	  0.106000        	  0.111000
approx. average  	  4.318979        	  0.131741
[std::string]
middle\algorithm:	std::inplace_merge	timmerge
         0       	  0.147000        	  0.147000
         1       	 88.884000        	  0.336000
         2       	 91.634000        	  0.354000
         5       	 88.185000        	  0.337000
       100       	 93.959000        	  0.364000
      1000       	 91.379000        	  0.405000
      5000       	108.718000        	  0.505000
     20000       	148.022000        	  0.635000
     33333       	176.253000        	  0.429000
     50000       	218.107000        	  0.486000
     75000       	158.057000        	  0.460000
     85714       	130.443000        	  0.442000
     96000       	 96.634000        	  0.438000
     98901       	 89.554000        	  0.418000
     99915       	 87.752000        	  0.430000
     99992       	 85.964000        	  0.444000
     99998       	 90.482000        	  0.474000
     99999       	 86.675000        	  0.434000
    100000       	  0.164000        	  0.146000
approx. average  	156.490915        	  0.483608
Clone this wiki locally