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.097000        	  0.096000
         1       	  6.422000        	  0.999000
         2       	  6.400000        	  1.105000
         5       	 14.236000        	  2.289000
       100       	 14.344000        	  3.393000
      1000       	 15.267000        	 10.345000
      5000       	 19.124000        	 27.809000
     20000       	 32.963000        	 35.330000
     33333       	 43.315000        	 45.550000
     50000       	 48.400000        	 49.527000
     75000       	 33.779000        	 37.943000
     85714       	 24.498000        	 28.564000
     96000       	 14.833000        	 29.511000
     98901       	 12.167000        	 12.237000
     99915       	 10.911000        	  3.269000
     99992       	 10.619000        	  2.301000
     99998       	  8.766000        	  1.758000
     99999       	  8.835000        	  1.795000
    100000       	  0.096000        	  0.096000
approx. average  	 33.404430        	 37.047990
[std::string]
middle\algorithm:	std::inplace_merge	timmerge
         0       	  0.153000        	  0.152000
         1       	239.223000        	 57.225000
         2       	279.380000        	 78.237000
         5       	286.038000        	 80.003000
       100       	308.573000        	 95.730000
      1000       	299.382000        	120.856000
      5000       	306.479000        	187.847000
     20000       	327.477000        	213.493000
     33333       	339.040000        	232.387000
     50000       	347.523000        	263.600000
     75000       	333.358000        	201.853000
     85714       	297.402000        	187.385000
     96000       	293.255000        	162.122000
     98901       	280.262000        	107.597000
     99915       	275.112000        	 75.714000
     99992       	225.684000        	 53.235000
     99998       	224.796000        	 52.777000
     99999       	225.319000        	 53.165000
    100000       	  0.162000        	  0.164000
approx. average  	324.964249        	210.297207
REVERSED SEQUENCE
[int]
middle\algorithm:	std::inplace_merge	timmerge
         0       	  0.097000        	  0.097000
         1       	 14.322000        	  2.229000
         2       	 14.328000        	  2.126000
         5       	 14.317000        	  2.287000
       100       	 14.309000        	  2.300000
      1000       	 14.233000        	  2.747000
      5000       	 14.013000        	  3.232000
     20000       	 12.808000        	  3.891000
     33333       	 11.766000        	  4.476000
     50000       	 10.744000        	  4.766000
     75000       	  9.894000        	  4.017000
     85714       	 10.456000        	  4.393000
     96000       	 10.896000        	  2.669000
     98901       	 11.053000        	  2.367000
     99915       	 11.108000        	  2.394000
     99992       	 11.070000        	  2.193000
     99998       	 11.107000        	  2.318000
     99999       	 11.209000        	  2.310000
    100000       	  0.100000        	  0.100000
approx. average  	 11.441404        	  4.017482
[std::string]
middle\algorithm:	std::inplace_merge	timmerge
         0       	  0.154000        	  0.178000
         1       	293.247000        	 74.391000
         2       	290.474000        	 81.729000
         5       	300.694000        	 87.803000
       100       	302.054000        	 81.131000
      1000       	285.302000        	 86.154000
      5000       	283.826000        	 91.073000
     20000       	293.790000        	105.080000
     33333       	277.827000        	126.335000
     50000       	335.049000        	160.311000
     75000       	315.708000        	104.263000
     85714       	312.147000        	 92.494000
     96000       	289.629000        	 90.170000
     98901       	350.660000        	 81.256000
     99915       	310.161000        	 77.720000
     99992       	295.050000        	 81.478000
     99998       	328.905000        	 79.671000
     99999       	293.166000        	 73.599000
    100000       	  0.161000        	  0.164000
approx. average  	305.649503        	114.773898
SORTED SEQUENCE
[int]
middle\algorithm:	std::inplace_merge	timmerge
         0       	  0.099000        	  0.097000
         1       	  0.134000        	  0.099000
         2       	  0.126000        	  0.099000
         5       	  0.126000        	  0.104000
       100       	  0.149000        	  0.100000
      1000       	  0.300000        	  0.100000
      5000       	  1.023000        	  0.103000
     20000       	  3.649000        	  0.104000
     33333       	  5.934000        	  0.104000
     50000       	  8.841000        	  0.106000
     75000       	  3.645000        	  0.107000
     85714       	  2.217000        	  0.107000
     96000       	  0.709000        	  0.110000
     98901       	  0.286000        	  0.109000
     99915       	  0.138000        	  0.108000
     99992       	  0.126000        	  0.108000
     99998       	  0.125000        	  0.107000
     99999       	  0.125000        	  0.109000
    100000       	  0.096000        	  0.096000
approx. average  	  4.291098        	  0.105571
[std::string]
middle\algorithm:	std::inplace_merge	timmerge
         0       	  0.166000        	  0.167000
         1       	 92.133000        	  0.181000
         2       	103.226000        	  0.181000
         5       	 87.691000        	  0.188000
       100       	105.779000        	  0.206000
      1000       	 90.697000        	  0.232000
      5000       	100.829000        	  0.258000
     20000       	139.240000        	  0.268000
     33333       	188.477000        	  0.265000
     50000       	226.377000        	  0.284000
     75000       	163.669000        	  0.295000
     85714       	120.639000        	  0.276000
     96000       	 97.224000        	  0.260000
     98901       	 90.773000        	  0.261000
     99915       	107.177000        	  0.295000
     99992       	 87.636000        	  0.300000
     99998       	 88.138000        	  0.261000
     99999       	 92.034000        	  0.301000
    100000       	  0.171000        	  0.162000
approx. average  	158.238114        	  0.273858
Clone this wiki locally