java -jar target/benchmarks.jar LockingWithoutLock.queue -t 4 -p implementation=LOCK,SPIN -p capacity=1,256,4096 # JMH version: 1.37 # VM version: JDK 21.0.2, OpenJDK 64-Bit Server VM, 21.0.2+13 # VM invoker: /usr/lib/jvm/java-21-openjdk/bin/java # VM options: # Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) # Warmup: 10 iterations, 200 ms each # Measurement: 10 iterations, 100 ms each # Timeout: 10 min per iteration # Threads: 4 threads (1 group; 1x "offer", 1x "poll", 1x "put", 1x "take" in each group), will synchronize iterations # Benchmark mode: Throughput, ops/time # Benchmark: com.argosware.blog.lwl.LockingWithoutLock.queue # Parameters: (capacity = 1, cooldownSleep = true, implementation = LOCK) # Run progress: 0.00% complete, ETA 00:00:54 # Fork: 1 of 3 # Warmup Iteration 1: 65359.342 ops/ms # Warmup Iteration 2: 70219.825 ops/ms # Warmup Iteration 3: 96784.250 ops/ms # Warmup Iteration 4: 88104.188 ops/ms # Warmup Iteration 5: 89209.643 ops/ms # Warmup Iteration 6: 91703.786 ops/ms # Warmup Iteration 7: 83953.264 ops/ms # Warmup Iteration 8: 91140.624 ops/ms # Warmup Iteration 9: 93865.846 ops/ms # Warmup Iteration 10: 96157.540 ops/ms Iteration 1: 86356.743 ops/ms offer: 42431.844 ops/ms poll: 43789.108 ops/ms put: 63.941 ops/ms take: 71.850 ops/ms Iteration 2: 92326.206 ops/ms offer: 44372.537 ops/ms poll: 47806.536 ops/ms put: 74.277 ops/ms take: 72.855 ops/ms Iteration 3: 94782.684 ops/ms offer: 46654.849 ops/ms poll: 47983.759 ops/ms put: 72.131 ops/ms take: 71.944 ops/ms Iteration 4: 90033.473 ops/ms offer: 45060.066 ops/ms poll: 44828.851 ops/ms put: 72.199 ops/ms take: 72.357 ops/ms Iteration 5: 91463.308 ops/ms offer: 46004.386 ops/ms poll: 45313.654 ops/ms put: 72.972 ops/ms take: 72.296 ops/ms Iteration 6: 92805.853 ops/ms offer: 46377.684 ops/ms poll: 46283.376 ops/ms put: 71.081 ops/ms take: 73.712 ops/ms Iteration 7: 89644.270 ops/ms offer: 42180.663 ops/ms poll: 47318.959 ops/ms put: 72.324 ops/ms take: 72.324 ops/ms Iteration 8: 88877.600 ops/ms offer: 44651.323 ops/ms poll: 44079.238 ops/ms put: 73.266 ops/ms take: 73.774 ops/ms Iteration 9: 84202.715 ops/ms offer: 44406.423 ops/ms poll: 39648.841 ops/ms put: 74.056 ops/ms take: 73.395 ops/ms Iteration 10: 90209.665 ops/ms offer: 44058.701 ops/ms poll: 46004.979 ops/ms put: 74.074 ops/ms take: 71.911 ops/ms # Run progress: 5.56% complete, ETA 00:04:19 # Fork: 2 of 3 # Warmup Iteration 1: 65882.448 ops/ms # Warmup Iteration 2: 77374.276 ops/ms # Warmup Iteration 3: 84170.499 ops/ms # Warmup Iteration 4: 85313.397 ops/ms # Warmup Iteration 5: 89728.617 ops/ms # Warmup Iteration 6: 85123.645 ops/ms # Warmup Iteration 7: 84384.567 ops/ms # Warmup Iteration 8: 82816.888 ops/ms # Warmup Iteration 9: 82857.036 ops/ms # Warmup Iteration 10: 81154.563 ops/ms Iteration 1: 79702.290 ops/ms offer: 37698.478 ops/ms poll: 41866.252 ops/ms put: 68.780 ops/ms take: 68.779 ops/ms Iteration 2: 83397.601 ops/ms offer: 40062.566 ops/ms poll: 43197.948 ops/ms put: 68.487 ops/ms take: 68.600 ops/ms Iteration 3: 83004.933 ops/ms offer: 39347.553 ops/ms poll: 43522.641 ops/ms put: 67.624 ops/ms take: 67.115 ops/ms Iteration 4: 83508.690 ops/ms offer: 41737.234 ops/ms poll: 41633.015 ops/ms put: 68.284 ops/ms take: 70.157 ops/ms Iteration 5: 88047.568 ops/ms offer: 43385.357 ops/ms poll: 44525.853 ops/ms put: 68.264 ops/ms take: 68.095 ops/ms Iteration 6: 84933.205 ops/ms offer: 41652.256 ops/ms poll: 43144.340 ops/ms put: 68.248 ops/ms take: 68.360 ops/ms Iteration 7: 84261.719 ops/ms offer: 42149.028 ops/ms poll: 41974.059 ops/ms put: 69.633 ops/ms take: 68.998 ops/ms Iteration 8: 86442.080 ops/ms offer: 41465.049 ops/ms poll: 44835.418 ops/ms put: 69.288 ops/ms take: 72.325 ops/ms Iteration 9: 85090.580 ops/ms offer: 40300.279 ops/ms poll: 44652.138 ops/ms put: 68.556 ops/ms take: 69.607 ops/ms Iteration 10: 77544.197 ops/ms offer: 37555.804 ops/ms poll: 39848.914 ops/ms put: 69.590 ops/ms take: 69.888 ops/ms # Run progress: 11.11% complete, ETA 00:04:04 # Fork: 3 of 3 # Warmup Iteration 1: 67384.719 ops/ms # Warmup Iteration 2: 72277.972 ops/ms # Warmup Iteration 3: 88710.784 ops/ms # Warmup Iteration 4: 85866.419 ops/ms # Warmup Iteration 5: 97728.902 ops/ms # Warmup Iteration 6: 82056.804 ops/ms # Warmup Iteration 7: 87382.025 ops/ms # Warmup Iteration 8: 88419.115 ops/ms # Warmup Iteration 9: 79970.213 ops/ms # Warmup Iteration 10: 87944.347 ops/ms Iteration 1: 85458.704 ops/ms offer: 42599.661 ops/ms poll: 42734.492 ops/ms put: 67.659 ops/ms take: 56.892 ops/ms Iteration 2: 79035.728 ops/ms offer: 39574.972 ops/ms poll: 39325.344 ops/ms put: 67.621 ops/ms take: 67.791 ops/ms Iteration 3: 86627.956 ops/ms offer: 43836.924 ops/ms poll: 42663.970 ops/ms put: 66.716 ops/ms take: 60.346 ops/ms Iteration 4: 83783.224 ops/ms offer: 42020.897 ops/ms poll: 41624.844 ops/ms put: 68.742 ops/ms take: 68.741 ops/ms Iteration 5: 73940.988 ops/ms offer: 35231.296 ops/ms poll: 38583.835 ops/ms put: 67.268 ops/ms take: 58.589 ops/ms Iteration 6: 73295.284 ops/ms offer: 41961.020 ops/ms poll: 31207.861 ops/ms put: 67.438 ops/ms take: 58.965 ops/ms Iteration 7: 87358.888 ops/ms offer: 42020.533 ops/ms poll: 45215.422 ops/ms put: 60.435 ops/ms take: 62.498 ops/ms Iteration 8: 80916.936 ops/ms offer: 42501.654 ops/ms poll: 38293.136 ops/ms put: 60.854 ops/ms take: 61.292 ops/ms Iteration 9: 83276.295 ops/ms offer: 41677.350 ops/ms poll: 41464.057 ops/ms put: 67.465 ops/ms take: 67.423 ops/ms Iteration 10: 76287.049 ops/ms offer: 31398.604 ops/ms poll: 44756.040 ops/ms put: 70.224 ops/ms take: 62.181 ops/ms Result "com.argosware.blog.lwl.LockingWithoutLock.queue": 84887.214 ±(99.9%) 3612.726 ops/ms [Average] (min, avg, max) = (73295.284, 84887.214, 94782.684), stdev = 5407.358 CI (99.9%): [81274.489, 88499.940] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:offer": 41812.500 ±(99.9%) 2186.547 ops/ms [Average] (min, avg, max) = (31398.604, 41812.500, 46654.849), stdev = 3272.721 CI (99.9%): [39625.953, 43999.047] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:poll": 42937.563 ±(99.9%) 2279.358 ops/ms [Average] (min, avg, max) = (31207.861, 42937.563, 47983.759), stdev = 3411.637 CI (99.9%): [40658.204, 45216.921] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:put": 69.050 ±(99.9%) 2.277 ops/ms [Average] (min, avg, max) = (60.435, 69.050, 74.277), stdev = 3.409 CI (99.9%): [66.773, 71.327] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:take": 68.102 ±(99.9%) 3.317 ops/ms [Average] (min, avg, max) = (56.892, 68.102, 73.774), stdev = 4.965 CI (99.9%): [64.785, 71.419] (assumes normal distribution) # JMH version: 1.37 # VM version: JDK 21.0.2, OpenJDK 64-Bit Server VM, 21.0.2+13 # VM invoker: /usr/lib/jvm/java-21-openjdk/bin/java # VM options: # Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) # Warmup: 10 iterations, 200 ms each # Measurement: 10 iterations, 100 ms each # Timeout: 10 min per iteration # Threads: 4 threads (1 group; 1x "offer", 1x "poll", 1x "put", 1x "take" in each group), will synchronize iterations # Benchmark mode: Throughput, ops/time # Benchmark: com.argosware.blog.lwl.LockingWithoutLock.queue # Parameters: (capacity = 1, cooldownSleep = true, implementation = SPIN) # Run progress: 16.67% complete, ETA 00:03:48 # Fork: 1 of 3 # Warmup Iteration 1: 21408.025 ops/ms # Warmup Iteration 2: 17857.259 ops/ms # Warmup Iteration 3: 78611.454 ops/ms # Warmup Iteration 4: 21719.971 ops/ms # Warmup Iteration 5: 13402.944 ops/ms # Warmup Iteration 6: 15146.504 ops/ms # Warmup Iteration 7: 48686.010 ops/ms # Warmup Iteration 8: 49494.428 ops/ms # Warmup Iteration 9: 13952.116 ops/ms # Warmup Iteration 10: 10540.659 ops/ms Iteration 1: 15135.940 ops/ms offer: 4810.392 ops/ms poll: 4680.649 ops/ms put: 4475.788 ops/ms take: 1169.112 ops/ms Iteration 2: 25393.829 ops/ms offer: 5948.534 ops/ms poll: 7225.160 ops/ms put: 5665.423 ops/ms take: 6554.713 ops/ms Iteration 3: 22742.619 ops/ms offer: 5791.738 ops/ms poll: 5827.794 ops/ms put: 4563.896 ops/ms take: 6559.191 ops/ms Iteration 4: 37563.818 ops/ms offer: 23231.399 ops/ms poll: 6769.795 ops/ms put: 5966.276 ops/ms take: 1596.348 ops/ms Iteration 5: 11771.656 ops/ms offer: 4396.285 ops/ms poll: 2403.147 ops/ms put: 4224.341 ops/ms take: 747.883 ops/ms Iteration 6: 44321.446 ops/ms offer: 23364.919 ops/ms poll: 9809.130 ops/ms put: 1642.098 ops/ms take: 9505.300 ops/ms Iteration 7: 32989.724 ops/ms offer: 21177.748 ops/ms poll: 3923.605 ops/ms put: 1452.774 ops/ms take: 6435.596 ops/ms Iteration 8: 21119.195 ops/ms offer: 6989.264 ops/ms poll: 7554.381 ops/ms put: 5714.605 ops/ms take: 860.945 ops/ms Iteration 9: 12253.857 ops/ms offer: 7187.424 ops/ms poll: 3472.061 ops/ms put: 408.390 ops/ms take: 1185.982 ops/ms Iteration 10: 10175.252 ops/ms offer: 2185.710 ops/ms poll: 6478.187 ops/ms put: 1069.185 ops/ms take: 442.170 ops/ms # Run progress: 22.22% complete, ETA 00:03:33 # Fork: 2 of 3 # Warmup Iteration 1: 15944.818 ops/ms # Warmup Iteration 2: 11428.981 ops/ms # Warmup Iteration 3: 45365.678 ops/ms # Warmup Iteration 4: 16461.662 ops/ms # Warmup Iteration 5: 13411.021 ops/ms # Warmup Iteration 6: 31796.114 ops/ms # Warmup Iteration 7: 13016.600 ops/ms # Warmup Iteration 8: 11001.196 ops/ms # Warmup Iteration 9: 20832.020 ops/ms # Warmup Iteration 10: 13121.630 ops/ms Iteration 1: 35538.738 ops/ms offer: 7393.276 ops/ms poll: 20400.222 ops/ms put: 1392.485 ops/ms take: 6352.755 ops/ms Iteration 2: 10986.621 ops/ms offer: 7044.689 ops/ms poll: 3169.442 ops/ms put: 484.338 ops/ms take: 288.152 ops/ms Iteration 3: 22735.569 ops/ms offer: 18205.383 ops/ms poll: 2551.846 ops/ms put: 1133.942 ops/ms take: 844.398 ops/ms Iteration 4: 21059.621 ops/ms offer: 16101.107 ops/ms poll: 2784.961 ops/ms put: 923.461 ops/ms take: 1250.092 ops/ms Iteration 5: 23238.830 ops/ms offer: 16865.612 ops/ms poll: 4811.855 ops/ms put: 1133.541 ops/ms take: 427.823 ops/ms Iteration 6: 6152.297 ops/ms offer: 3107.134 ops/ms poll: 1500.933 ops/ms put: 1011.053 ops/ms take: 533.177 ops/ms Iteration 7: 16208.813 ops/ms offer: 7157.998 ops/ms poll: 4987.796 ops/ms put: 956.922 ops/ms take: 3106.096 ops/ms Iteration 8: 64253.856 ops/ms offer: 9400.575 ops/ms poll: 51621.175 ops/ms put: 2699.984 ops/ms take: 532.122 ops/ms Iteration 9: 47501.928 ops/ms offer: 21723.338 ops/ms poll: 14779.280 ops/ms put: 2411.471 ops/ms take: 8587.839 ops/ms Iteration 10: 61974.927 ops/ms offer: 4743.077 ops/ms poll: 51610.829 ops/ms put: 4553.913 ops/ms take: 1067.107 ops/ms # Run progress: 27.78% complete, ETA 00:03:18 # Fork: 3 of 3 # Warmup Iteration 1: 21724.550 ops/ms # Warmup Iteration 2: 27830.750 ops/ms # Warmup Iteration 3: 14824.267 ops/ms # Warmup Iteration 4: 17062.995 ops/ms # Warmup Iteration 5: 43435.827 ops/ms # Warmup Iteration 6: 9528.278 ops/ms # Warmup Iteration 7: 37307.708 ops/ms # Warmup Iteration 8: 53061.666 ops/ms # Warmup Iteration 9: 39806.493 ops/ms # Warmup Iteration 10: 46444.777 ops/ms Iteration 1: 66686.454 ops/ms offer: 14009.618 ops/ms poll: 50362.436 ops/ms put: 1153.983 ops/ms take: 1160.416 ops/ms Iteration 2: 31148.534 ops/ms offer: 5076.107 ops/ms poll: 10744.174 ops/ms put: 5084.246 ops/ms take: 10244.008 ops/ms Iteration 3: 14929.381 ops/ms offer: 4182.802 ops/ms poll: 9851.837 ops/ms put: 603.857 ops/ms take: 290.885 ops/ms Iteration 4: 28085.710 ops/ms offer: 12216.232 ops/ms poll: 4703.149 ops/ms put: 1265.246 ops/ms take: 9901.083 ops/ms Iteration 5: 19645.923 ops/ms offer: 5599.289 ops/ms poll: 5811.205 ops/ms put: 5890.625 ops/ms take: 2344.805 ops/ms Iteration 6: 14224.573 ops/ms offer: 4246.961 ops/ms poll: 5420.549 ops/ms put: 1129.601 ops/ms take: 3427.462 ops/ms Iteration 7: 22134.489 ops/ms offer: 10690.915 ops/ms poll: 5096.280 ops/ms put: 1008.414 ops/ms take: 5338.880 ops/ms Iteration 8: 29927.820 ops/ms offer: 4363.788 ops/ms poll: 21640.178 ops/ms put: 1082.029 ops/ms take: 2841.826 ops/ms Iteration 9: 80258.067 ops/ms offer: 24120.902 ops/ms poll: 50868.013 ops/ms put: 2380.213 ops/ms take: 2888.938 ops/ms Iteration 10: 11524.555 ops/ms offer: 5111.734 ops/ms poll: 3954.961 ops/ms put: 399.701 ops/ms take: 2058.159 ops/ms Result "com.argosware.blog.lwl.LockingWithoutLock.queue": 28722.801 ±(99.9%) 12610.167 ops/ms [Average] (min, avg, max) = (6152.297, 28722.801, 80258.067), stdev = 18874.306 CI (99.9%): [16112.634, 41332.969] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:offer": 10214.798 ±(99.9%) 4680.176 ops/ms [Average] (min, avg, max) = (2185.710, 10214.798, 24120.902), stdev = 7005.067 CI (99.9%): [5534.623, 14894.974] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:poll": 12827.168 ±(99.9%) 10683.702 ops/ms [Average] (min, avg, max) = (1500.933, 12827.168, 51621.175), stdev = 15990.864 CI (99.9%): [2143.465, 23510.870] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:put": 2396.060 ±(99.9%) 1286.064 ops/ms [Average] (min, avg, max) = (399.701, 2396.060, 5966.276), stdev = 1924.920 CI (99.9%): [1109.996, 3682.124] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:take": 3284.775 ±(99.9%) 2147.780 ops/ms [Average] (min, avg, max) = (288.152, 3284.775, 10244.008), stdev = 3214.696 CI (99.9%): [1136.995, 5432.556] (assumes normal distribution) # JMH version: 1.37 # VM version: JDK 21.0.2, OpenJDK 64-Bit Server VM, 21.0.2+13 # VM invoker: /usr/lib/jvm/java-21-openjdk/bin/java # VM options: # Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) # Warmup: 10 iterations, 200 ms each # Measurement: 10 iterations, 100 ms each # Timeout: 10 min per iteration # Threads: 4 threads (1 group; 1x "offer", 1x "poll", 1x "put", 1x "take" in each group), will synchronize iterations # Benchmark mode: Throughput, ops/time # Benchmark: com.argosware.blog.lwl.LockingWithoutLock.queue # Parameters: (capacity = 256, cooldownSleep = true, implementation = LOCK) # Run progress: 33.33% complete, ETA 00:03:03 # Fork: 1 of 3 # Warmup Iteration 1: 54562.175 ops/ms # Warmup Iteration 2: 60741.309 ops/ms # Warmup Iteration 3: 77147.944 ops/ms # Warmup Iteration 4: 71690.058 ops/ms # Warmup Iteration 5: 85983.112 ops/ms # Warmup Iteration 6: 84187.866 ops/ms # Warmup Iteration 7: 82905.385 ops/ms # Warmup Iteration 8: 71986.562 ops/ms # Warmup Iteration 9: 89445.192 ops/ms # Warmup Iteration 10: 83042.925 ops/ms Iteration 1: 67564.219 ops/ms offer: 18270.619 ops/ms poll: 18089.902 ops/ms put: 16863.362 ops/ms take: 14340.336 ops/ms Iteration 2: 83250.398 ops/ms offer: 24101.222 ops/ms poll: 25509.167 ops/ms put: 17908.205 ops/ms take: 15731.804 ops/ms Iteration 3: 85745.986 ops/ms offer: 29119.701 ops/ms poll: 25478.013 ops/ms put: 15026.548 ops/ms take: 16121.725 ops/ms Iteration 4: 71861.637 ops/ms offer: 16406.531 ops/ms poll: 21548.136 ops/ms put: 16829.721 ops/ms take: 17077.249 ops/ms Iteration 5: 75915.117 ops/ms offer: 13603.431 ops/ms poll: 25915.043 ops/ms put: 16802.485 ops/ms take: 19594.158 ops/ms Iteration 6: 76157.085 ops/ms offer: 13052.060 ops/ms poll: 30622.051 ops/ms put: 16930.359 ops/ms take: 15552.615 ops/ms Iteration 7: 73880.949 ops/ms offer: 14984.074 ops/ms poll: 25573.580 ops/ms put: 16865.293 ops/ms take: 16458.001 ops/ms Iteration 8: 76615.480 ops/ms offer: 23353.857 ops/ms poll: 20665.576 ops/ms put: 17378.780 ops/ms take: 15217.267 ops/ms Iteration 9: 76869.740 ops/ms offer: 21232.201 ops/ms poll: 23243.847 ops/ms put: 16813.628 ops/ms take: 15580.064 ops/ms Iteration 10: 78507.033 ops/ms offer: 23920.778 ops/ms poll: 18859.086 ops/ms put: 19654.170 ops/ms take: 16072.999 ops/ms # Run progress: 38.89% complete, ETA 00:02:47 # Fork: 2 of 3 # Warmup Iteration 1: 59294.385 ops/ms # Warmup Iteration 2: 50271.130 ops/ms # Warmup Iteration 3: 72359.246 ops/ms # Warmup Iteration 4: 80663.411 ops/ms # Warmup Iteration 5: 88108.421 ops/ms # Warmup Iteration 6: 90414.134 ops/ms # Warmup Iteration 7: 76636.351 ops/ms # Warmup Iteration 8: 79220.969 ops/ms # Warmup Iteration 9: 83278.818 ops/ms # Warmup Iteration 10: 65635.884 ops/ms Iteration 1: 80611.020 ops/ms offer: 21354.284 ops/ms poll: 24090.521 ops/ms put: 17162.821 ops/ms take: 18003.396 ops/ms Iteration 2: 72890.540 ops/ms offer: 20032.368 ops/ms poll: 17444.913 ops/ms put: 16505.666 ops/ms take: 18907.592 ops/ms Iteration 3: 64296.689 ops/ms offer: 14271.312 ops/ms poll: 18122.576 ops/ms put: 17083.592 ops/ms take: 14819.210 ops/ms Iteration 4: 70597.731 ops/ms offer: 15209.459 ops/ms poll: 23573.393 ops/ms put: 14612.640 ops/ms take: 17202.240 ops/ms Iteration 5: 80961.746 ops/ms offer: 25411.715 ops/ms poll: 23656.700 ops/ms put: 15322.360 ops/ms take: 16570.971 ops/ms Iteration 6: 82682.833 ops/ms offer: 26606.238 ops/ms poll: 23400.354 ops/ms put: 15566.945 ops/ms take: 17109.295 ops/ms Iteration 7: 71332.945 ops/ms offer: 22140.046 ops/ms poll: 17737.315 ops/ms put: 16869.559 ops/ms take: 14586.025 ops/ms Iteration 8: 74460.163 ops/ms offer: 25797.146 ops/ms poll: 16867.573 ops/ms put: 17064.286 ops/ms take: 14731.158 ops/ms Iteration 9: 80565.137 ops/ms offer: 19991.235 ops/ms poll: 22645.222 ops/ms put: 19847.688 ops/ms take: 18080.993 ops/ms Iteration 10: 74092.922 ops/ms offer: 18147.146 ops/ms poll: 23128.214 ops/ms put: 16012.115 ops/ms take: 16805.447 ops/ms # Run progress: 44.44% complete, ETA 00:02:32 # Fork: 3 of 3 # Warmup Iteration 1: 53442.594 ops/ms # Warmup Iteration 2: 53887.159 ops/ms # Warmup Iteration 3: 72958.033 ops/ms # Warmup Iteration 4: 64565.294 ops/ms # Warmup Iteration 5: 81755.905 ops/ms # Warmup Iteration 6: 81505.042 ops/ms # Warmup Iteration 7: 76526.644 ops/ms # Warmup Iteration 8: 76409.614 ops/ms # Warmup Iteration 9: 69407.044 ops/ms # Warmup Iteration 10: 73283.911 ops/ms Iteration 1: 74338.600 ops/ms offer: 25785.812 ops/ms poll: 16826.834 ops/ms put: 15536.092 ops/ms take: 16189.863 ops/ms Iteration 2: 74988.960 ops/ms offer: 18379.798 ops/ms poll: 21753.521 ops/ms put: 18598.226 ops/ms take: 16257.415 ops/ms Iteration 3: 78309.062 ops/ms offer: 18347.850 ops/ms poll: 25339.203 ops/ms put: 16004.231 ops/ms take: 18617.779 ops/ms Iteration 4: 83957.602 ops/ms offer: 27819.128 ops/ms poll: 25341.231 ops/ms put: 15467.733 ops/ms take: 15329.510 ops/ms Iteration 5: 81376.154 ops/ms offer: 27131.162 ops/ms poll: 24248.030 ops/ms put: 15067.848 ops/ms take: 14929.114 ops/ms Iteration 6: 85020.753 ops/ms offer: 24763.170 ops/ms poll: 24620.053 ops/ms put: 17907.626 ops/ms take: 17729.903 ops/ms Iteration 7: 76974.702 ops/ms offer: 19769.258 ops/ms poll: 24370.409 ops/ms put: 16522.808 ops/ms take: 16312.227 ops/ms Iteration 8: 76607.736 ops/ms offer: 30041.281 ops/ms poll: 15090.293 ops/ms put: 15796.795 ops/ms take: 15679.367 ops/ms Iteration 9: 72504.400 ops/ms offer: 16896.427 ops/ms poll: 23152.403 ops/ms put: 16396.635 ops/ms take: 16058.935 ops/ms Iteration 10: 81034.426 ops/ms offer: 24583.649 ops/ms poll: 25275.606 ops/ms put: 15464.619 ops/ms take: 15710.552 ops/ms Result "com.argosware.blog.lwl.LockingWithoutLock.queue": 76799.059 ±(99.9%) 3431.972 ops/ms [Average] (min, avg, max) = (64296.689, 76799.059, 85745.986), stdev = 5136.814 CI (99.9%): [73367.087, 80231.031] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:offer": 21350.765 ±(99.9%) 3237.201 ops/ms [Average] (min, avg, max) = (13052.060, 21350.765, 30041.281), stdev = 4845.291 CI (99.9%): [18113.564, 24587.966] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:poll": 22406.292 ±(99.9%) 2388.362 ops/ms [Average] (min, avg, max) = (15090.293, 22406.292, 30622.051), stdev = 3574.788 CI (99.9%): [20017.930, 24794.654] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:put": 16662.761 ±(99.9%) 837.625 ops/ms [Average] (min, avg, max) = (14612.640, 16662.761, 19847.688), stdev = 1253.718 CI (99.9%): [15825.136, 17500.386] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:take": 16379.240 ±(99.9%) 886.814 ops/ms [Average] (min, avg, max) = (14340.336, 16379.240, 19594.158), stdev = 1327.341 CI (99.9%): [15492.427, 17266.054] (assumes normal distribution) # JMH version: 1.37 # VM version: JDK 21.0.2, OpenJDK 64-Bit Server VM, 21.0.2+13 # VM invoker: /usr/lib/jvm/java-21-openjdk/bin/java # VM options: # Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) # Warmup: 10 iterations, 200 ms each # Measurement: 10 iterations, 100 ms each # Timeout: 10 min per iteration # Threads: 4 threads (1 group; 1x "offer", 1x "poll", 1x "put", 1x "take" in each group), will synchronize iterations # Benchmark mode: Throughput, ops/time # Benchmark: com.argosware.blog.lwl.LockingWithoutLock.queue # Parameters: (capacity = 256, cooldownSleep = true, implementation = SPIN) # Run progress: 50.00% complete, ETA 00:02:17 # Fork: 1 of 3 # Warmup Iteration 1: 49869.155 ops/ms # Warmup Iteration 2: 55386.797 ops/ms # Warmup Iteration 3: 51460.944 ops/ms # Warmup Iteration 4: 64413.998 ops/ms # Warmup Iteration 5: 53840.144 ops/ms # Warmup Iteration 6: 46710.227 ops/ms # Warmup Iteration 7: 55997.463 ops/ms # Warmup Iteration 8: 51667.127 ops/ms # Warmup Iteration 9: 59775.686 ops/ms # Warmup Iteration 10: 50512.162 ops/ms Iteration 1: 50781.728 ops/ms offer: 7625.315 ops/ms poll: 18387.061 ops/ms put: 7735.376 ops/ms take: 17033.977 ops/ms Iteration 2: 50414.647 ops/ms offer: 10538.034 ops/ms poll: 14702.599 ops/ms put: 7572.123 ops/ms take: 17601.891 ops/ms Iteration 3: 44393.210 ops/ms offer: 7946.399 ops/ms poll: 16716.527 ops/ms put: 8436.423 ops/ms take: 11293.861 ops/ms Iteration 4: 56785.948 ops/ms offer: 15403.209 ops/ms poll: 12247.150 ops/ms put: 13672.462 ops/ms take: 15463.127 ops/ms Iteration 5: 51097.115 ops/ms offer: 7390.650 ops/ms poll: 15540.524 ops/ms put: 13847.429 ops/ms take: 14318.512 ops/ms Iteration 6: 57461.817 ops/ms offer: 14562.379 ops/ms poll: 14898.892 ops/ms put: 12034.558 ops/ms take: 15965.988 ops/ms Iteration 7: 58860.553 ops/ms offer: 9963.569 ops/ms poll: 20212.463 ops/ms put: 10524.026 ops/ms take: 18160.495 ops/ms Iteration 8: 59557.807 ops/ms offer: 14344.603 ops/ms poll: 16029.209 ops/ms put: 12825.709 ops/ms take: 16358.286 ops/ms Iteration 9: 48910.293 ops/ms offer: 7123.723 ops/ms poll: 19495.840 ops/ms put: 7714.969 ops/ms take: 14575.761 ops/ms Iteration 10: 58699.903 ops/ms offer: 13839.038 ops/ms poll: 15550.596 ops/ms put: 11760.462 ops/ms take: 17549.807 ops/ms # Run progress: 55.56% complete, ETA 00:02:02 # Fork: 2 of 3 # Warmup Iteration 1: 40059.399 ops/ms # Warmup Iteration 2: 63740.701 ops/ms # Warmup Iteration 3: 55729.639 ops/ms # Warmup Iteration 4: 53570.538 ops/ms # Warmup Iteration 5: 59599.971 ops/ms # Warmup Iteration 6: 59577.936 ops/ms # Warmup Iteration 7: 58689.858 ops/ms # Warmup Iteration 8: 55864.900 ops/ms # Warmup Iteration 9: 56340.590 ops/ms # Warmup Iteration 10: 56521.826 ops/ms Iteration 1: 59352.906 ops/ms offer: 14445.900 ops/ms poll: 16582.670 ops/ms put: 11400.194 ops/ms take: 16924.141 ops/ms Iteration 2: 53365.460 ops/ms offer: 15274.893 ops/ms poll: 15010.281 ops/ms put: 7979.548 ops/ms take: 15100.738 ops/ms Iteration 3: 59089.882 ops/ms offer: 13730.050 ops/ms poll: 16329.430 ops/ms put: 14617.476 ops/ms take: 14412.926 ops/ms Iteration 4: 56598.808 ops/ms offer: 13621.722 ops/ms poll: 19313.776 ops/ms put: 9556.211 ops/ms take: 14107.099 ops/ms Iteration 5: 54813.206 ops/ms offer: 15047.410 ops/ms poll: 18232.958 ops/ms put: 7814.214 ops/ms take: 13718.625 ops/ms Iteration 6: 62435.496 ops/ms offer: 13429.904 ops/ms poll: 19633.257 ops/ms put: 15915.334 ops/ms take: 13457.001 ops/ms Iteration 7: 63877.438 ops/ms offer: 14486.145 ops/ms poll: 18771.898 ops/ms put: 12132.206 ops/ms take: 18487.189 ops/ms Iteration 8: 46961.591 ops/ms offer: 9511.812 ops/ms poll: 17213.121 ops/ms put: 8858.706 ops/ms take: 11377.952 ops/ms Iteration 9: 46889.908 ops/ms offer: 7565.566 ops/ms poll: 12130.393 ops/ms put: 8730.645 ops/ms take: 18463.305 ops/ms Iteration 10: 53356.968 ops/ms offer: 14160.431 ops/ms poll: 17084.760 ops/ms put: 8232.914 ops/ms take: 13878.863 ops/ms # Run progress: 61.11% complete, ETA 00:01:46 # Fork: 3 of 3 # Warmup Iteration 1: 43647.509 ops/ms # Warmup Iteration 2: 46599.691 ops/ms # Warmup Iteration 3: 54254.811 ops/ms # Warmup Iteration 4: 52979.439 ops/ms # Warmup Iteration 5: 56025.695 ops/ms # Warmup Iteration 6: 62468.586 ops/ms # Warmup Iteration 7: 55829.806 ops/ms # Warmup Iteration 8: 49389.607 ops/ms # Warmup Iteration 9: 59427.425 ops/ms # Warmup Iteration 10: 52848.746 ops/ms Iteration 1: 55714.193 ops/ms offer: 7396.221 ops/ms poll: 15330.038 ops/ms put: 14456.625 ops/ms take: 18531.309 ops/ms Iteration 2: 50751.683 ops/ms offer: 8610.986 ops/ms poll: 17297.447 ops/ms put: 7582.931 ops/ms take: 17260.319 ops/ms Iteration 3: 55215.253 ops/ms offer: 7060.446 ops/ms poll: 15506.632 ops/ms put: 14849.509 ops/ms take: 17798.667 ops/ms Iteration 4: 52292.094 ops/ms offer: 8665.876 ops/ms poll: 15300.735 ops/ms put: 9387.973 ops/ms take: 18937.511 ops/ms Iteration 5: 50689.415 ops/ms offer: 7319.156 ops/ms poll: 13860.006 ops/ms put: 12212.801 ops/ms take: 17297.451 ops/ms Iteration 6: 44307.667 ops/ms offer: 9016.697 ops/ms poll: 16479.027 ops/ms put: 7734.925 ops/ms take: 11077.018 ops/ms Iteration 7: 54211.284 ops/ms offer: 7509.715 ops/ms poll: 15449.746 ops/ms put: 13566.146 ops/ms take: 17685.676 ops/ms Iteration 8: 52888.806 ops/ms offer: 8427.739 ops/ms poll: 17808.808 ops/ms put: 7876.666 ops/ms take: 18775.593 ops/ms Iteration 9: 59784.012 ops/ms offer: 9149.498 ops/ms poll: 20290.122 ops/ms put: 11851.804 ops/ms take: 18492.588 ops/ms Iteration 10: 60683.005 ops/ms offer: 18709.620 ops/ms poll: 15442.001 ops/ms put: 10910.179 ops/ms take: 15621.206 ops/ms Result "com.argosware.blog.lwl.LockingWithoutLock.queue": 54341.403 ±(99.9%) 3457.119 ops/ms [Average] (min, avg, max) = (44307.667, 54341.403, 63877.438), stdev = 5174.454 CI (99.9%): [50884.284, 57798.522] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:offer": 11062.557 ±(99.9%) 2297.659 ops/ms [Average] (min, avg, max) = (7060.446, 11062.557, 18709.620), stdev = 3439.029 CI (99.9%): [8764.897, 13360.216] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:poll": 16561.599 ±(99.9%) 1414.426 ops/ms [Average] (min, avg, max) = (12130.393, 16561.599, 20290.122), stdev = 2117.046 CI (99.9%): [15147.173, 17976.025] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:put": 10726.351 ±(99.9%) 1779.240 ops/ms [Average] (min, avg, max) = (7572.123, 10726.351, 15915.334), stdev = 2663.082 CI (99.9%): [8947.112, 12505.591] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:take": 15990.896 ±(99.9%) 1561.242 ops/ms [Average] (min, avg, max) = (11077.018, 15990.896, 18937.511), stdev = 2336.793 CI (99.9%): [14429.654, 17552.138] (assumes normal distribution) # JMH version: 1.37 # VM version: JDK 21.0.2, OpenJDK 64-Bit Server VM, 21.0.2+13 # VM invoker: /usr/lib/jvm/java-21-openjdk/bin/java # VM options: # Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) # Warmup: 10 iterations, 200 ms each # Measurement: 10 iterations, 100 ms each # Timeout: 10 min per iteration # Threads: 4 threads (1 group; 1x "offer", 1x "poll", 1x "put", 1x "take" in each group), will synchronize iterations # Benchmark mode: Throughput, ops/time # Benchmark: com.argosware.blog.lwl.LockingWithoutLock.queue # Parameters: (capacity = 4096, cooldownSleep = true, implementation = LOCK) # Run progress: 66.67% complete, ETA 00:01:31 # Fork: 1 of 3 # Warmup Iteration 1: 42939.662 ops/ms # Warmup Iteration 2: 39073.015 ops/ms # Warmup Iteration 3: 57113.870 ops/ms # Warmup Iteration 4: 58683.123 ops/ms # Warmup Iteration 5: 52772.447 ops/ms # Warmup Iteration 6: 59701.059 ops/ms # Warmup Iteration 7: 67799.636 ops/ms # Warmup Iteration 8: 57866.944 ops/ms # Warmup Iteration 9: 59574.101 ops/ms # Warmup Iteration 10: 74842.092 ops/ms Iteration 1: 64086.748 ops/ms offer: 18600.391 ops/ms poll: 18306.237 ops/ms put: 15128.505 ops/ms take: 12051.615 ops/ms Iteration 2: 65682.338 ops/ms offer: 18885.184 ops/ms poll: 15759.375 ops/ms put: 12452.467 ops/ms take: 18585.312 ops/ms Iteration 3: 60287.358 ops/ms offer: 17013.694 ops/ms poll: 11876.734 ops/ms put: 14434.895 ops/ms take: 16962.034 ops/ms Iteration 4: 58454.238 ops/ms offer: 11140.382 ops/ms poll: 15293.022 ops/ms put: 17751.300 ops/ms take: 14269.534 ops/ms Iteration 5: 55006.539 ops/ms offer: 9994.665 ops/ms poll: 14870.049 ops/ms put: 15395.340 ops/ms take: 14746.485 ops/ms Iteration 6: 64654.340 ops/ms offer: 15888.796 ops/ms poll: 15149.789 ops/ms put: 17690.664 ops/ms take: 15925.091 ops/ms Iteration 7: 58870.886 ops/ms offer: 13671.326 ops/ms poll: 10625.561 ops/ms put: 18390.473 ops/ms take: 16183.525 ops/ms Iteration 8: 63647.541 ops/ms offer: 11691.995 ops/ms poll: 18745.500 ops/ms put: 16474.101 ops/ms take: 16735.945 ops/ms Iteration 9: 69975.787 ops/ms offer: 16729.567 ops/ms poll: 19964.544 ops/ms put: 17180.954 ops/ms take: 16100.722 ops/ms Iteration 10: 62030.078 ops/ms offer: 14214.313 ops/ms poll: 20611.342 ops/ms put: 12790.157 ops/ms take: 14414.267 ops/ms # Run progress: 72.22% complete, ETA 00:01:16 # Fork: 2 of 3 # Warmup Iteration 1: 56247.535 ops/ms # Warmup Iteration 2: 45351.053 ops/ms # Warmup Iteration 3: 70604.845 ops/ms # Warmup Iteration 4: 70441.585 ops/ms # Warmup Iteration 5: 69454.115 ops/ms # Warmup Iteration 6: 71871.262 ops/ms # Warmup Iteration 7: 61696.360 ops/ms # Warmup Iteration 8: 58545.699 ops/ms # Warmup Iteration 9: 57707.109 ops/ms # Warmup Iteration 10: 60570.481 ops/ms Iteration 1: 70543.455 ops/ms offer: 16080.796 ops/ms poll: 20275.892 ops/ms put: 16612.734 ops/ms take: 17574.033 ops/ms Iteration 2: 75718.975 ops/ms offer: 21787.523 ops/ms poll: 20866.801 ops/ms put: 16263.690 ops/ms take: 16800.960 ops/ms Iteration 3: 70658.272 ops/ms offer: 17347.448 ops/ms poll: 17265.901 ops/ms put: 18224.992 ops/ms take: 17819.931 ops/ms Iteration 4: 68340.927 ops/ms offer: 18184.030 ops/ms poll: 18504.193 ops/ms put: 11822.061 ops/ms take: 19830.644 ops/ms Iteration 5: 64665.409 ops/ms offer: 18214.684 ops/ms poll: 13357.113 ops/ms put: 12840.703 ops/ms take: 20252.908 ops/ms Iteration 6: 54592.502 ops/ms offer: 15745.056 ops/ms poll: 11789.589 ops/ms put: 11591.494 ops/ms take: 15466.363 ops/ms Iteration 7: 56556.128 ops/ms offer: 14883.432 ops/ms poll: 16667.942 ops/ms put: 9162.767 ops/ms take: 15841.987 ops/ms Iteration 8: 67130.988 ops/ms offer: 14371.814 ops/ms poll: 21440.006 ops/ms put: 13684.102 ops/ms take: 17635.066 ops/ms Iteration 9: 65074.809 ops/ms offer: 19468.528 ops/ms poll: 15319.667 ops/ms put: 15037.011 ops/ms take: 15249.603 ops/ms Iteration 10: 75856.653 ops/ms offer: 18737.591 ops/ms poll: 24225.474 ops/ms put: 16826.881 ops/ms take: 16066.706 ops/ms # Run progress: 77.78% complete, ETA 00:01:01 # Fork: 3 of 3 # Warmup Iteration 1: 45108.782 ops/ms # Warmup Iteration 2: 40059.606 ops/ms # Warmup Iteration 3: 62475.031 ops/ms # Warmup Iteration 4: 42410.846 ops/ms # Warmup Iteration 5: 63156.423 ops/ms # Warmup Iteration 6: 50885.179 ops/ms # Warmup Iteration 7: 69878.013 ops/ms # Warmup Iteration 8: 52682.791 ops/ms # Warmup Iteration 9: 73436.009 ops/ms # Warmup Iteration 10: 67371.828 ops/ms Iteration 1: 65684.818 ops/ms offer: 15852.469 ops/ms poll: 22072.874 ops/ms put: 13514.218 ops/ms take: 14245.257 ops/ms Iteration 2: 53785.965 ops/ms offer: 12461.251 ops/ms poll: 15047.509 ops/ms put: 14464.399 ops/ms take: 11812.806 ops/ms Iteration 3: 73208.722 ops/ms offer: 22694.899 ops/ms poll: 21416.821 ops/ms put: 14221.704 ops/ms take: 14875.298 ops/ms Iteration 4: 66355.662 ops/ms offer: 17901.699 ops/ms poll: 16335.931 ops/ms put: 11897.013 ops/ms take: 20221.020 ops/ms Iteration 5: 68744.674 ops/ms offer: 16394.772 ops/ms poll: 19418.309 ops/ms put: 17142.277 ops/ms take: 15789.317 ops/ms Iteration 6: 64704.749 ops/ms offer: 15584.622 ops/ms poll: 19104.763 ops/ms put: 15805.788 ops/ms take: 14209.577 ops/ms Iteration 7: 60303.249 ops/ms offer: 13372.619 ops/ms poll: 16677.008 ops/ms put: 15718.378 ops/ms take: 14535.245 ops/ms Iteration 8: 71827.989 ops/ms offer: 20889.090 ops/ms poll: 21524.388 ops/ms put: 14710.961 ops/ms take: 14703.549 ops/ms Iteration 9: 51623.490 ops/ms offer: 12379.384 ops/ms poll: 10683.119 ops/ms put: 13916.145 ops/ms take: 14644.842 ops/ms Iteration 10: 59852.074 ops/ms offer: 14366.768 ops/ms poll: 15386.808 ops/ms put: 15028.683 ops/ms take: 15069.815 ops/ms Result "com.argosware.blog.lwl.LockingWithoutLock.queue": 64264.179 ±(99.9%) 4293.610 ops/ms [Average] (min, avg, max) = (51623.490, 64264.179, 75856.653), stdev = 6426.474 CI (99.9%): [59970.569, 68557.789] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:offer": 16151.626 ±(99.9%) 2073.018 ops/ms [Average] (min, avg, max) = (9994.665, 16151.626, 22694.899), stdev = 3102.796 CI (99.9%): [14078.608, 18224.644] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:poll": 17286.075 ±(99.9%) 2385.049 ops/ms [Average] (min, avg, max) = (10625.561, 17286.075, 24225.474), stdev = 3569.830 CI (99.9%): [14901.026, 19671.125] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:put": 14872.495 ±(99.9%) 1491.246 ops/ms [Average] (min, avg, max) = (9162.767, 14872.495, 18390.473), stdev = 2232.027 CI (99.9%): [13381.249, 16363.741] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:take": 15953.982 ±(99.9%) 1376.074 ops/ms [Average] (min, avg, max) = (11812.806, 15953.982, 20252.908), stdev = 2059.643 CI (99.9%): [14577.908, 17330.056] (assumes normal distribution) # JMH version: 1.37 # VM version: JDK 21.0.2, OpenJDK 64-Bit Server VM, 21.0.2+13 # VM invoker: /usr/lib/jvm/java-21-openjdk/bin/java # VM options: # Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) # Warmup: 10 iterations, 200 ms each # Measurement: 10 iterations, 100 ms each # Timeout: 10 min per iteration # Threads: 4 threads (1 group; 1x "offer", 1x "poll", 1x "put", 1x "take" in each group), will synchronize iterations # Benchmark mode: Throughput, ops/time # Benchmark: com.argosware.blog.lwl.LockingWithoutLock.queue # Parameters: (capacity = 4096, cooldownSleep = true, implementation = SPIN) # Run progress: 83.33% complete, ETA 00:00:45 # Fork: 1 of 3 # Warmup Iteration 1: 54260.893 ops/ms # Warmup Iteration 2: 75363.128 ops/ms # Warmup Iteration 3: 61513.912 ops/ms # Warmup Iteration 4: 52783.232 ops/ms # Warmup Iteration 5: 55906.898 ops/ms # Warmup Iteration 6: 57447.676 ops/ms # Warmup Iteration 7: 66784.425 ops/ms # Warmup Iteration 8: 13357.078 ops/ms # Warmup Iteration 9: 58403.190 ops/ms # Warmup Iteration 10: 60901.671 ops/ms Iteration 1: 57933.383 ops/ms offer: 7238.624 ops/ms poll: 13408.955 ops/ms put: 17367.471 ops/ms take: 19918.333 ops/ms Iteration 2: 66040.040 ops/ms offer: 13839.530 ops/ms poll: 22101.773 ops/ms put: 12759.429 ops/ms take: 17339.308 ops/ms Iteration 3: 59239.311 ops/ms offer: 15882.546 ops/ms poll: 16283.266 ops/ms put: 14789.627 ops/ms take: 12283.873 ops/ms Iteration 4: 71492.960 ops/ms offer: 14791.836 ops/ms poll: 20363.853 ops/ms put: 13227.541 ops/ms take: 23109.730 ops/ms Iteration 5: 57278.688 ops/ms offer: 14503.451 ops/ms poll: 15043.095 ops/ms put: 12460.092 ops/ms take: 15272.049 ops/ms Iteration 6: 51262.399 ops/ms offer: 7640.184 ops/ms poll: 14088.876 ops/ms put: 9215.678 ops/ms take: 20317.660 ops/ms Iteration 7: 59434.088 ops/ms offer: 16827.657 ops/ms poll: 14540.491 ops/ms put: 8310.981 ops/ms take: 19754.959 ops/ms Iteration 8: 55025.390 ops/ms offer: 6853.326 ops/ms poll: 18991.628 ops/ms put: 8790.478 ops/ms take: 20389.958 ops/ms Iteration 9: 62275.176 ops/ms offer: 11409.212 ops/ms poll: 17293.375 ops/ms put: 14512.409 ops/ms take: 19060.181 ops/ms Iteration 10: 58766.628 ops/ms offer: 14897.431 ops/ms poll: 17305.387 ops/ms put: 9223.843 ops/ms take: 17339.968 ops/ms # Run progress: 88.89% complete, ETA 00:00:30 # Fork: 2 of 3 # Warmup Iteration 1: 46601.861 ops/ms # Warmup Iteration 2: 57563.112 ops/ms # Warmup Iteration 3: 54816.059 ops/ms # Warmup Iteration 4: 55833.004 ops/ms # Warmup Iteration 5: 56014.559 ops/ms # Warmup Iteration 6: 54468.536 ops/ms # Warmup Iteration 7: 52310.790 ops/ms # Warmup Iteration 8: 58886.827 ops/ms # Warmup Iteration 9: 55609.500 ops/ms # Warmup Iteration 10: 49606.675 ops/ms Iteration 1: 60161.659 ops/ms offer: 7455.615 ops/ms poll: 23876.848 ops/ms put: 13299.599 ops/ms take: 15529.598 ops/ms Iteration 2: 54070.923 ops/ms offer: 7983.030 ops/ms poll: 16538.846 ops/ms put: 8301.797 ops/ms take: 21247.249 ops/ms Iteration 3: 79595.509 ops/ms offer: 23255.664 ops/ms poll: 21378.254 ops/ms put: 15430.304 ops/ms take: 19531.287 ops/ms Iteration 4: 62873.428 ops/ms offer: 12568.433 ops/ms poll: 15166.440 ops/ms put: 16139.522 ops/ms take: 18999.033 ops/ms Iteration 5: 53839.210 ops/ms offer: 7258.163 ops/ms poll: 20319.530 ops/ms put: 7979.645 ops/ms take: 18281.871 ops/ms Iteration 6: 57846.166 ops/ms offer: 15834.268 ops/ms poll: 15793.625 ops/ms put: 7448.024 ops/ms take: 18770.249 ops/ms Iteration 7: 52104.905 ops/ms offer: 8581.402 ops/ms poll: 14558.268 ops/ms put: 8378.008 ops/ms take: 20587.227 ops/ms Iteration 8: 52778.754 ops/ms offer: 7788.716 ops/ms poll: 16874.591 ops/ms put: 9745.863 ops/ms take: 18369.584 ops/ms Iteration 9: 64229.088 ops/ms offer: 22074.411 ops/ms poll: 16576.473 ops/ms put: 7831.610 ops/ms take: 17746.595 ops/ms Iteration 10: 56096.152 ops/ms offer: 8353.596 ops/ms poll: 18965.657 ops/ms put: 9550.152 ops/ms take: 19226.747 ops/ms # Run progress: 94.44% complete, ETA 00:00:15 # Fork: 3 of 3 # Warmup Iteration 1: 58311.504 ops/ms # Warmup Iteration 2: 64259.068 ops/ms # Warmup Iteration 3: 80746.243 ops/ms # Warmup Iteration 4: 70872.144 ops/ms # Warmup Iteration 5: 65995.492 ops/ms # Warmup Iteration 6: 81090.695 ops/ms # Warmup Iteration 7: 68017.884 ops/ms # Warmup Iteration 8: 64680.120 ops/ms # Warmup Iteration 9: 77298.104 ops/ms # Warmup Iteration 10: 31107.292 ops/ms Iteration 1: 29489.684 ops/ms offer: 8527.567 ops/ms poll: 5356.658 ops/ms put: 7927.363 ops/ms take: 7678.096 ops/ms Iteration 2: 21847.789 ops/ms offer: 6471.985 ops/ms poll: 4751.461 ops/ms put: 5490.344 ops/ms take: 5133.999 ops/ms Iteration 3: 54914.322 ops/ms offer: 21558.654 ops/ms poll: 6725.021 ops/ms put: 18972.554 ops/ms take: 7658.093 ops/ms Iteration 4: 47667.965 ops/ms offer: 6978.444 ops/ms poll: 15213.468 ops/ms put: 18477.257 ops/ms take: 6998.795 ops/ms Iteration 5: 62304.430 ops/ms offer: 17521.516 ops/ms poll: 18710.201 ops/ms put: 13941.664 ops/ms take: 12131.048 ops/ms Iteration 6: 68923.711 ops/ms offer: 12368.638 ops/ms poll: 19448.633 ops/ms put: 18813.301 ops/ms take: 18293.138 ops/ms Iteration 7: 14973.144 ops/ms offer: 1662.007 ops/ms poll: 5363.182 ops/ms put: 5195.706 ops/ms take: 2752.249 ops/ms Iteration 8: 95497.047 ops/ms offer: 28574.504 ops/ms poll: 19206.310 ops/ms put: 33788.085 ops/ms take: 13928.148 ops/ms Iteration 9: 67458.921 ops/ms offer: 18718.941 ops/ms poll: 14927.342 ops/ms put: 17519.243 ops/ms take: 16293.395 ops/ms Iteration 10: 96591.158 ops/ms offer: 29008.668 ops/ms poll: 24205.862 ops/ms put: 25324.574 ops/ms take: 18052.053 ops/ms Result "com.argosware.blog.lwl.LockingWithoutLock.queue": 58400.401 ±(99.9%) 11207.963 ops/ms [Average] (min, avg, max) = (14973.144, 58400.401, 96591.158), stdev = 16775.553 CI (99.9%): [47192.438, 69608.364] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:offer": 13214.267 ±(99.9%) 4540.784 ops/ms [Average] (min, avg, max) = (1662.007, 13214.267, 29008.668), stdev = 6796.433 CI (99.9%): [8673.483, 17755.052] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:poll": 16112.579 ±(99.9%) 3379.371 ops/ms [Average] (min, avg, max) = (4751.461, 16112.579, 24205.862), stdev = 5058.084 CI (99.9%): [12733.208, 19491.950] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:put": 13007.072 ±(99.9%) 4125.287 ops/ms [Average] (min, avg, max) = (5195.706, 13007.072, 33788.085), stdev = 6174.536 CI (99.9%): [8881.785, 17132.359] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:take": 16066.482 ±(99.9%) 3486.105 ops/ms [Average] (min, avg, max) = (2752.249, 16066.482, 23109.730), stdev = 5217.839 CI (99.9%): [12580.377, 19552.588] (assumes normal distribution) # Run complete. Total time: 00:04:34 REMEMBER: The numbers below are just data. To gain reusable insights, you need to follow up on why the numbers are the way they are. Use profilers (see -prof, -lprof), design factorial experiments, perform baseline and negative tests that provide experimental control, make sure the benchmarking environment is safe on JVM/OS/HW level, ask for reviews from the domain experts. Do not assume the numbers tell you what you want them to tell. NOTE: Current JVM experimentally supports Compiler Blackholes, and they are in use. Please exercise extra caution when trusting the results, look into the generated code to check the benchmark still works, and factor in a small probability of new VM bugs. Additionally, while comparisons between different JVMs are already problematic, the performance difference caused by different Blackhole modes can be very significant. Please make sure you use the consistent Blackhole mode for comparisons. Benchmark (capacity) (cooldownSleep) (implementation) Mode Cnt Score Error Units LockingWithoutLock.queue 1 true LOCK thrpt 30 84887.214 ± 3612.726 ops/ms LockingWithoutLock.queue:offer 1 true LOCK thrpt 30 41812.500 ± 2186.547 ops/ms LockingWithoutLock.queue:poll 1 true LOCK thrpt 30 42937.563 ± 2279.358 ops/ms LockingWithoutLock.queue:put 1 true LOCK thrpt 30 69.050 ± 2.277 ops/ms LockingWithoutLock.queue:take 1 true LOCK thrpt 30 68.102 ± 3.317 ops/ms LockingWithoutLock.queue 1 true SPIN thrpt 30 28722.801 ± 12610.167 ops/ms LockingWithoutLock.queue:offer 1 true SPIN thrpt 30 10214.798 ± 4680.176 ops/ms LockingWithoutLock.queue:poll 1 true SPIN thrpt 30 12827.168 ± 10683.702 ops/ms LockingWithoutLock.queue:put 1 true SPIN thrpt 30 2396.060 ± 1286.064 ops/ms LockingWithoutLock.queue:take 1 true SPIN thrpt 30 3284.775 ± 2147.780 ops/ms LockingWithoutLock.queue 256 true LOCK thrpt 30 76799.059 ± 3431.972 ops/ms LockingWithoutLock.queue:offer 256 true LOCK thrpt 30 21350.765 ± 3237.201 ops/ms LockingWithoutLock.queue:poll 256 true LOCK thrpt 30 22406.292 ± 2388.362 ops/ms LockingWithoutLock.queue:put 256 true LOCK thrpt 30 16662.761 ± 837.625 ops/ms LockingWithoutLock.queue:take 256 true LOCK thrpt 30 16379.240 ± 886.814 ops/ms LockingWithoutLock.queue 256 true SPIN thrpt 30 54341.403 ± 3457.119 ops/ms LockingWithoutLock.queue:offer 256 true SPIN thrpt 30 11062.557 ± 2297.659 ops/ms LockingWithoutLock.queue:poll 256 true SPIN thrpt 30 16561.599 ± 1414.426 ops/ms LockingWithoutLock.queue:put 256 true SPIN thrpt 30 10726.351 ± 1779.240 ops/ms LockingWithoutLock.queue:take 256 true SPIN thrpt 30 15990.896 ± 1561.242 ops/ms LockingWithoutLock.queue 4096 true LOCK thrpt 30 64264.179 ± 4293.610 ops/ms LockingWithoutLock.queue:offer 4096 true LOCK thrpt 30 16151.626 ± 2073.018 ops/ms LockingWithoutLock.queue:poll 4096 true LOCK thrpt 30 17286.075 ± 2385.049 ops/ms LockingWithoutLock.queue:put 4096 true LOCK thrpt 30 14872.495 ± 1491.246 ops/ms LockingWithoutLock.queue:take 4096 true LOCK thrpt 30 15953.982 ± 1376.074 ops/ms LockingWithoutLock.queue 4096 true SPIN thrpt 30 58400.401 ± 11207.963 ops/ms LockingWithoutLock.queue:offer 4096 true SPIN thrpt 30 13214.267 ± 4540.784 ops/ms LockingWithoutLock.queue:poll 4096 true SPIN thrpt 30 16112.579 ± 3379.371 ops/ms LockingWithoutLock.queue:put 4096 true SPIN thrpt 30 13007.072 ± 4125.287 ops/ms LockingWithoutLock.queue:take 4096 true SPIN thrpt 30 16066.482 ± 3486.105 ops/ms