Warming up -------------------------------------- push + pop (findmin) 136.044 i/s - 140.000 times in 1.029078s (7.35ms/i) push + pop (bsearch) 5.700k i/s - 5.984k times in 1.049902s (175.45μs/i) push + pop (rb_heap) 466.447k i/s - 496.977k times in 1.065453s (2.14μs/i) push + pop (c++ stl) 3.023M i/s - 3.038M times in 1.004830s (330.81ns/i, 794clocks/i) push + pop (c_dheap) 3.579M i/s - 3.620M times in 1.011429s (279.40ns/i, 785clocks/i) Calculating ------------------------------------- bin/bench_n 1000000 bin/bench_n 10000 bin/bench_n 25000 bin/bench_n 50000 bin/bench_n 100000 bin/bench_n 250000 bin/bench_n 500000 bin/bench_n 10000000 bin/bench_n 2500000 bin/bench_n 5000000 push + pop (findmin) 136.690 11.014k 4.426k 2.178k 1.084k 408.671 215.680 13.169 52.037 26.307 i/s - 408.000 times in 2.984861s 0.037045s 0.092186s 0.187334s 0.376306s 0.998359s 1.891687s 30.981982s 7.840594s 15.509132s push + pop (bsearch) 5.639k 786.334k 364.964k 200.521k 88.607k 34.530k 17.965k 288.811 1.302k 592.009 i/s - 17.098k times in 3.032244s 0.021744s 0.046848s 0.085268s 0.192965s 0.495157s 0.951721s 59.201408s 13.131805s 28.881310s push + pop (rb_heap) 513.523k 736.618k 670.187k 618.157k 579.251k 572.795k 543.648k 423.119k 460.849k 445.235k i/s - 1.399M times in 2.724978s 1.899681s 2.087985s 2.263730s 2.415776s 2.443003s 2.573980s 3.307202s 3.036440s 3.142928s push + pop (c++ stl) 3.396M 4.902M 4.794M 4.532M 4.316M 4.204M 3.903M 2.022M 2.659M 2.347M i/s - 9.069M times in 2.670712s 1.850114s 1.891786s 2.001185s 2.101354s 2.157093s 2.323676s 4.484351s 3.410224s 3.864573s push + pop (c_dheap) 4.403M 7.311M 6.407M 6.738M 6.254M 5.918M 5.126M 2.138M 3.304M 2.665M i/s - 10.737M times in 2.438365s 1.468580s 1.675785s 1.593589s 1.716764s 1.814447s 2.094553s 5.022305s 3.249709s 4.029170s Comparison: push + pop (findmin) bin/bench_n 10000: 11013.7 i/s bin/bench_n 25000: 4425.8 i/s - 2.49x slower bin/bench_n 50000: 2177.9 i/s - 5.06x slower bin/bench_n 100000: 1084.2 i/s - 10.16x slower bin/bench_n 250000: 408.7 i/s - 26.95x slower bin/bench_n 500000: 215.7 i/s - 51.06x slower bin/bench_n 1000000: 136.7 i/s - 80.57x slower bin/bench_n 2500000: 52.0 i/s - 211.65x slower bin/bench_n 5000000: 26.3 i/s - 418.66x slower bin/bench_n 10000000: 13.2 i/s - 836.34x slower push + pop (bsearch) bin/bench_n 10000: 786334.2 i/s bin/bench_n 25000: 364963.8 i/s - 2.15x slower bin/bench_n 50000: 200520.6 i/s - 3.92x slower bin/bench_n 100000: 88607.0 i/s - 8.87x slower bin/bench_n 250000: 34530.5 i/s - 22.77x slower bin/bench_n 500000: 17965.4 i/s - 43.77x slower bin/bench_n 1000000: 5638.7 i/s - 139.45x slower bin/bench_n 2500000: 1302.0 i/s - 603.93x slower bin/bench_n 5000000: 592.0 i/s - 1328.25x slower bin/bench_n 10000000: 288.8 i/s - 2722.66x slower push + pop (rb_heap) bin/bench_n 10000: 736618.2 i/s bin/bench_n 25000: 670186.8 i/s - 1.10x slower bin/bench_n 50000: 618156.7 i/s - 1.19x slower bin/bench_n 100000: 579250.7 i/s - 1.27x slower bin/bench_n 250000: 572795.0 i/s - 1.29x slower bin/bench_n 500000: 543648.3 i/s - 1.35x slower bin/bench_n 1000000: 513523.4 i/s - 1.43x slower bin/bench_n 2500000: 460848.9 i/s - 1.60x slower bin/bench_n 5000000: 445234.5 i/s - 1.65x slower bin/bench_n 10000000: 423119.0 i/s - 1.74x slower push + pop (c++ stl) bin/bench_n 10000: 4901711.5 i/s bin/bench_n 25000: 4793735.8 i/s - 1.02x slower bin/bench_n 50000: 4531675.9 i/s - 1.08x slower bin/bench_n 100000: 4315657.8 i/s - 1.14x slower bin/bench_n 250000: 4204141.1 i/s - 1.17x slower bin/bench_n 500000: 3902748.9 i/s - 1.26x slower bin/bench_n 1000000: 3395620.2 i/s - 1.44x slower bin/bench_n 2500000: 2659274.8 i/s - 1.84x slower bin/bench_n 5000000: 2346630.0 i/s - 2.09x slower bin/bench_n 10000000: 2022304.5 i/s - 2.42x slower push + pop (c_dheap) bin/bench_n 10000: 7311366.6 i/s bin/bench_n 50000: 6737824.5 i/s - 1.09x slower bin/bench_n 25000: 6407340.6 i/s - 1.14x slower bin/bench_n 100000: 6254396.3 i/s - 1.17x slower bin/bench_n 250000: 5917684.5 i/s - 1.24x slower bin/bench_n 500000: 5126307.6 i/s - 1.43x slower bin/bench_n 1000000: 4403494.1 i/s - 1.66x slower bin/bench_n 2500000: 3304088.2 i/s - 2.21x slower bin/bench_n 5000000: 2664897.7 i/s - 2.74x slower bin/bench_n 10000000: 2137927.6 i/s - 3.42x slower