java -jar target/benchmarks.jar LockingWithoutLock.queue -p implementation=LOCK,SPIN,PADDED_SPIN,SPSC,PADDED_SPSC -p capacity=1,4096 -p spinningCounterpart=false,true -rf CSV -rff /home/alexis/argos/blog/content/posts/locking-without-false-sharing/jmh.csv # 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, spinningCounterpart = false) # Run progress: 0.00% complete, ETA 00:03:00 # Fork: 1 of 3 # Warmup Iteration 1: 71184.297 ops/ms # Warmup Iteration 2: 82609.492 ops/ms # Warmup Iteration 3: 100643.347 ops/ms # Warmup Iteration 4: 89585.718 ops/ms # Warmup Iteration 5: 85137.180 ops/ms # Warmup Iteration 6: 85805.277 ops/ms # Warmup Iteration 7: 90451.791 ops/ms # Warmup Iteration 8: 94135.465 ops/ms # Warmup Iteration 9: 94414.829 ops/ms # Warmup Iteration 10: 99024.252 ops/ms Iteration 1: 96531.722 ops/ms offer: 51148.971 ops/ms poll: 45253.155 ops/ms put: 58.649 ops/ms take: 70.947 ops/ms Iteration 2: 94652.713 ops/ms offer: 39924.806 ops/ms poll: 54590.598 ops/ms put: 70.432 ops/ms take: 66.877 ops/ms Iteration 3: 82284.221 ops/ms offer: 37958.816 ops/ms poll: 44206.748 ops/ms put: 58.759 ops/ms take: 59.898 ops/ms Iteration 4: 97577.292 ops/ms offer: 45776.712 ops/ms poll: 51663.486 ops/ms put: 68.812 ops/ms take: 68.282 ops/ms Iteration 5: 92780.611 ops/ms offer: 43653.714 ops/ms poll: 48999.813 ops/ms put: 61.926 ops/ms take: 65.158 ops/ms Iteration 6: 90701.615 ops/ms offer: 45733.538 ops/ms poll: 44833.245 ops/ms put: 67.263 ops/ms take: 67.569 ops/ms Iteration 7: 94332.527 ops/ms offer: 45314.414 ops/ms poll: 48883.989 ops/ms put: 69.469 ops/ms take: 64.654 ops/ms Iteration 8: 93913.326 ops/ms offer: 43942.529 ops/ms poll: 49848.958 ops/ms put: 62.628 ops/ms take: 59.211 ops/ms Iteration 9: 91093.037 ops/ms offer: 44010.607 ops/ms poll: 46953.468 ops/ms put: 65.352 ops/ms take: 63.610 ops/ms Iteration 10: 90807.264 ops/ms offer: 42992.260 ops/ms poll: 47685.367 ops/ms put: 67.425 ops/ms take: 62.212 ops/ms # Run progress: 1.67% complete, ETA 00:15:02 # Fork: 2 of 3 # Warmup Iteration 1: 67519.750 ops/ms # Warmup Iteration 2: 57464.456 ops/ms # Warmup Iteration 3: 79734.072 ops/ms # Warmup Iteration 4: 86723.941 ops/ms # Warmup Iteration 5: 79903.440 ops/ms # Warmup Iteration 6: 78861.110 ops/ms # Warmup Iteration 7: 74363.414 ops/ms # Warmup Iteration 8: 81895.871 ops/ms # Warmup Iteration 9: 70736.997 ops/ms # Warmup Iteration 10: 73832.550 ops/ms Iteration 1: 88129.615 ops/ms offer: 43681.342 ops/ms poll: 44322.319 ops/ms put: 70.007 ops/ms take: 55.946 ops/ms Iteration 2: 85502.310 ops/ms offer: 42730.481 ops/ms poll: 42638.856 ops/ms put: 70.774 ops/ms take: 62.200 ops/ms Iteration 3: 78748.288 ops/ms offer: 38276.047 ops/ms poll: 40351.518 ops/ms put: 61.513 ops/ms take: 59.211 ops/ms Iteration 4: 58847.005 ops/ms offer: 29956.394 ops/ms poll: 28772.798 ops/ms put: 59.235 ops/ms take: 58.578 ops/ms Iteration 5: 65914.810 ops/ms offer: 30105.770 ops/ms poll: 35683.379 ops/ms put: 62.916 ops/ms take: 62.745 ops/ms Iteration 6: 67275.321 ops/ms offer: 31098.532 ops/ms poll: 36058.743 ops/ms put: 58.848 ops/ms take: 59.198 ops/ms Iteration 7: 72147.473 ops/ms offer: 33561.063 ops/ms poll: 38468.123 ops/ms put: 58.452 ops/ms take: 59.835 ops/ms Iteration 8: 68854.733 ops/ms offer: 32690.342 ops/ms poll: 36042.396 ops/ms put: 61.731 ops/ms take: 60.264 ops/ms Iteration 9: 59819.520 ops/ms offer: 28252.728 ops/ms poll: 31451.712 ops/ms put: 58.023 ops/ms take: 57.056 ops/ms Iteration 10: 75348.331 ops/ms offer: 35480.681 ops/ms poll: 39749.086 ops/ms put: 58.922 ops/ms take: 59.643 ops/ms # Run progress: 3.33% complete, ETA 00:14:46 # Fork: 3 of 3 # Warmup Iteration 1: 52611.338 ops/ms # Warmup Iteration 2: 47303.840 ops/ms # Warmup Iteration 3: 72628.148 ops/ms # Warmup Iteration 4: 53700.086 ops/ms # Warmup Iteration 5: 67861.282 ops/ms # Warmup Iteration 6: 69711.612 ops/ms # Warmup Iteration 7: 71998.742 ops/ms # Warmup Iteration 8: 71288.057 ops/ms # Warmup Iteration 9: 64740.005 ops/ms # Warmup Iteration 10: 54271.021 ops/ms Iteration 1: 82751.222 ops/ms offer: 42411.553 ops/ms poll: 40223.602 ops/ms put: 59.542 ops/ms take: 56.525 ops/ms Iteration 2: 76374.516 ops/ms offer: 38783.792 ops/ms poll: 37473.012 ops/ms put: 60.685 ops/ms take: 57.027 ops/ms Iteration 3: 67697.940 ops/ms offer: 32968.905 ops/ms poll: 34618.201 ops/ms put: 55.725 ops/ms take: 55.109 ops/ms Iteration 4: 73052.473 ops/ms offer: 37672.010 ops/ms poll: 35263.407 ops/ms put: 59.208 ops/ms take: 57.848 ops/ms Iteration 5: 67863.744 ops/ms offer: 32468.325 ops/ms poll: 35278.454 ops/ms put: 57.914 ops/ms take: 59.051 ops/ms Iteration 6: 71024.430 ops/ms offer: 34635.356 ops/ms poll: 36267.763 ops/ms put: 60.413 ops/ms take: 60.898 ops/ms Iteration 7: 74079.833 ops/ms offer: 38082.634 ops/ms poll: 35872.308 ops/ms put: 62.563 ops/ms take: 62.329 ops/ms Iteration 8: 63398.486 ops/ms offer: 32179.497 ops/ms poll: 31094.340 ops/ms put: 63.683 ops/ms take: 60.967 ops/ms Iteration 9: 71346.797 ops/ms offer: 36379.186 ops/ms poll: 34844.429 ops/ms put: 62.890 ops/ms take: 60.292 ops/ms Iteration 10: 71830.853 ops/ms offer: 34791.016 ops/ms poll: 36910.622 ops/ms put: 64.926 ops/ms take: 64.288 ops/ms Result "com.argosware.blog.lwl.LockingWithoutLock.queue": 78822.734 ±(99.9%) 7942.347 ops/ms [Average] (min, avg, max) = (58847.005, 78822.734, 97577.292), stdev = 11887.733 CI (99.9%): [70880.387, 86765.082] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:offer": 38222.067 ±(99.9%) 3903.815 ops/ms [Average] (min, avg, max) = (28252.728, 38222.067, 51148.971), stdev = 5843.047 CI (99.9%): [34318.252, 42125.883] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:poll": 40476.796 ±(99.9%) 4436.544 ops/ms [Average] (min, avg, max) = (28772.798, 40476.796, 54590.598), stdev = 6640.410 CI (99.9%): [36040.253, 44913.340] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:put": 62.623 ±(99.9%) 2.874 ops/ms [Average] (min, avg, max) = (55.725, 62.623, 70.774), stdev = 4.301 CI (99.9%): [59.749, 65.497] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:take": 61.248 ±(99.9%) 2.573 ops/ms [Average] (min, avg, max) = (55.109, 61.248, 70.947), stdev = 3.851 CI (99.9%): [58.675, 63.821] (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 = LOCK, spinningCounterpart = true) # Run progress: 5.00% complete, ETA 00:14:31 # Fork: 1 of 3 # Warmup Iteration 1: 21382.613 ops/ms # Warmup Iteration 2: 18994.677 ops/ms # Warmup Iteration 3: 32728.393 ops/ms # Warmup Iteration 4: 28790.299 ops/ms # Warmup Iteration 5: 26848.492 ops/ms # Warmup Iteration 6: 30137.176 ops/ms # Warmup Iteration 7: 25966.223 ops/ms # Warmup Iteration 8: 22692.463 ops/ms # Warmup Iteration 9: 28352.245 ops/ms # Warmup Iteration 10: 26906.220 ops/ms Iteration 1: 30912.725 ops/ms offer: 10960.887 ops/ms poll: 18979.823 ops/ms put: 212.470 ops/ms take: 759.546 ops/ms Iteration 2: 36148.979 ops/ms offer: 16487.105 ops/ms poll: 18871.416 ops/ms put: 442.466 ops/ms take: 347.992 ops/ms Iteration 3: 22522.109 ops/ms offer: 9162.963 ops/ms poll: 12144.691 ops/ms put: 604.607 ops/ms take: 609.847 ops/ms Iteration 4: 24975.010 ops/ms offer: 12916.312 ops/ms poll: 11571.800 ops/ms put: 297.598 ops/ms take: 189.301 ops/ms Iteration 5: 25164.779 ops/ms offer: 14325.098 ops/ms poll: 10271.889 ops/ms put: 275.524 ops/ms take: 292.268 ops/ms Iteration 6: 24359.784 ops/ms offer: 14349.288 ops/ms poll: 9417.814 ops/ms put: 373.775 ops/ms take: 218.907 ops/ms Iteration 7: 24305.756 ops/ms offer: 12720.847 ops/ms poll: 11042.798 ops/ms put: 370.815 ops/ms take: 171.296 ops/ms Iteration 8: 24704.532 ops/ms offer: 13196.685 ops/ms poll: 11019.166 ops/ms put: 297.534 ops/ms take: 191.146 ops/ms Iteration 9: 25957.821 ops/ms offer: 10157.085 ops/ms poll: 15337.717 ops/ms put: 237.649 ops/ms take: 225.370 ops/ms Iteration 10: 29609.107 ops/ms offer: 16478.979 ops/ms poll: 12674.448 ops/ms put: 262.541 ops/ms take: 193.139 ops/ms # Run progress: 6.67% complete, ETA 00:14:17 # Fork: 2 of 3 # Warmup Iteration 1: 24674.953 ops/ms # Warmup Iteration 2: 19099.878 ops/ms # Warmup Iteration 3: 38085.004 ops/ms # Warmup Iteration 4: 34101.572 ops/ms # Warmup Iteration 5: 31189.380 ops/ms # Warmup Iteration 6: 32799.927 ops/ms # Warmup Iteration 7: 28011.990 ops/ms # Warmup Iteration 8: 24311.872 ops/ms # Warmup Iteration 9: 28530.865 ops/ms # Warmup Iteration 10: 23233.915 ops/ms Iteration 1: 30166.260 ops/ms offer: 13064.181 ops/ms poll: 16629.848 ops/ms put: 234.729 ops/ms take: 237.503 ops/ms Iteration 2: 31618.407 ops/ms offer: 13581.040 ops/ms poll: 17390.594 ops/ms put: 224.220 ops/ms take: 422.553 ops/ms Iteration 3: 22231.685 ops/ms offer: 11306.100 ops/ms poll: 10390.920 ops/ms put: 312.749 ops/ms take: 221.915 ops/ms Iteration 4: 23752.330 ops/ms offer: 11298.114 ops/ms poll: 11965.395 ops/ms put: 273.044 ops/ms take: 215.777 ops/ms Iteration 5: 30078.357 ops/ms offer: 12350.206 ops/ms poll: 16902.736 ops/ms put: 314.975 ops/ms take: 510.439 ops/ms Iteration 6: 24658.619 ops/ms offer: 12027.733 ops/ms poll: 12047.715 ops/ms put: 332.054 ops/ms take: 251.117 ops/ms Iteration 7: 25861.534 ops/ms offer: 13289.362 ops/ms poll: 12101.787 ops/ms put: 271.430 ops/ms take: 198.956 ops/ms Iteration 8: 37068.105 ops/ms offer: 18044.272 ops/ms poll: 18269.507 ops/ms put: 550.030 ops/ms take: 204.295 ops/ms Iteration 9: 17732.398 ops/ms offer: 9012.021 ops/ms poll: 7865.337 ops/ms put: 483.217 ops/ms take: 371.824 ops/ms Iteration 10: 19080.105 ops/ms offer: 10662.995 ops/ms poll: 7886.845 ops/ms put: 326.382 ops/ms take: 203.882 ops/ms # Run progress: 8.33% complete, ETA 00:14:02 # Fork: 3 of 3 # Warmup Iteration 1: 22246.723 ops/ms # Warmup Iteration 2: 21175.453 ops/ms # Warmup Iteration 3: 26160.219 ops/ms # Warmup Iteration 4: 26621.100 ops/ms # Warmup Iteration 5: 30873.675 ops/ms # Warmup Iteration 6: 28657.177 ops/ms # Warmup Iteration 7: 27477.278 ops/ms # Warmup Iteration 8: 25343.254 ops/ms # Warmup Iteration 9: 31028.055 ops/ms # Warmup Iteration 10: 25466.366 ops/ms Iteration 1: 31472.608 ops/ms offer: 12709.945 ops/ms poll: 18312.539 ops/ms put: 220.423 ops/ms take: 229.702 ops/ms Iteration 2: 41226.055 ops/ms offer: 13583.458 ops/ms poll: 26818.844 ops/ms put: 430.323 ops/ms take: 393.429 ops/ms Iteration 3: 23768.767 ops/ms offer: 10756.225 ops/ms poll: 12469.368 ops/ms put: 278.580 ops/ms take: 264.594 ops/ms Iteration 4: 27843.690 ops/ms offer: 17343.750 ops/ms poll: 9863.454 ops/ms put: 241.974 ops/ms take: 394.512 ops/ms Iteration 5: 23465.064 ops/ms offer: 12065.461 ops/ms poll: 10924.566 ops/ms put: 231.606 ops/ms take: 243.430 ops/ms Iteration 6: 21854.807 ops/ms offer: 9024.062 ops/ms poll: 12302.576 ops/ms put: 276.363 ops/ms take: 251.806 ops/ms Iteration 7: 41728.106 ops/ms offer: 23232.177 ops/ms poll: 17890.354 ops/ms put: 289.683 ops/ms take: 315.891 ops/ms Iteration 8: 20824.698 ops/ms offer: 10335.546 ops/ms poll: 10103.036 ops/ms put: 180.806 ops/ms take: 205.310 ops/ms Iteration 9: 25982.592 ops/ms offer: 16155.709 ops/ms poll: 9402.814 ops/ms put: 260.781 ops/ms take: 163.289 ops/ms Iteration 10: 36498.923 ops/ms offer: 10385.422 ops/ms poll: 25685.713 ops/ms put: 225.408 ops/ms take: 202.381 ops/ms Result "com.argosware.blog.lwl.LockingWithoutLock.queue": 27519.124 ±(99.9%) 4106.430 ops/ms [Average] (min, avg, max) = (17732.398, 27519.124, 41728.106), stdev = 6146.311 CI (99.9%): [23412.694, 31625.553] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:offer": 13032.768 ±(99.9%) 2071.793 ops/ms [Average] (min, avg, max) = (9012.021, 13032.768, 23232.177), stdev = 3100.962 CI (99.9%): [10960.975, 15104.560] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:poll": 13885.184 ±(99.9%) 3189.522 ops/ms [Average] (min, avg, max) = (7865.337, 13885.184, 26818.844), stdev = 4773.927 CI (99.9%): [10695.662, 17074.706] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:put": 311.125 ±(99.9%) 67.604 ops/ms [Average] (min, avg, max) = (180.806, 311.125, 604.607), stdev = 101.187 CI (99.9%): [243.521, 378.729] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:take": 290.047 ±(99.9%) 92.025 ops/ms [Average] (min, avg, max) = (163.289, 290.047, 759.546), stdev = 137.739 CI (99.9%): [198.022, 382.072] (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, spinningCounterpart = false) # Run progress: 10.00% complete, ETA 00:13:46 # Fork: 1 of 3 # Warmup Iteration 1: 9536.310 ops/ms # Warmup Iteration 2: 9830.160 ops/ms # Warmup Iteration 3: 51834.773 ops/ms # Warmup Iteration 4: 33537.963 ops/ms # Warmup Iteration 5: 28063.416 ops/ms # Warmup Iteration 6: 41016.804 ops/ms # Warmup Iteration 7: 28198.144 ops/ms # Warmup Iteration 8: 31354.627 ops/ms # Warmup Iteration 9: 6229.353 ops/ms # Warmup Iteration 10: 7994.289 ops/ms Iteration 1: 43099.006 ops/ms offer: 9071.158 ops/ms poll: 20368.613 ops/ms put: 8971.076 ops/ms take: 4688.159 ops/ms Iteration 2: 13155.247 ops/ms offer: 3464.970 ops/ms poll: 4639.945 ops/ms put: 3937.426 ops/ms take: 1112.907 ops/ms Iteration 3: 8109.449 ops/ms offer: 4624.683 ops/ms poll: 2568.606 ops/ms put: 552.147 ops/ms take: 364.013 ops/ms Iteration 4: 47462.206 ops/ms offer: 9383.426 ops/ms poll: 30496.558 ops/ms put: 5351.660 ops/ms take: 2230.563 ops/ms Iteration 5: 33603.520 ops/ms offer: 20809.907 ops/ms poll: 6209.425 ops/ms put: 1146.751 ops/ms take: 5437.436 ops/ms Iteration 6: 52275.666 ops/ms offer: 6834.083 ops/ms poll: 34339.163 ops/ms put: 8464.209 ops/ms take: 2638.212 ops/ms Iteration 7: 11965.374 ops/ms offer: 4613.141 ops/ms poll: 2094.326 ops/ms put: 4361.264 ops/ms take: 896.642 ops/ms Iteration 8: 19419.053 ops/ms offer: 2510.799 ops/ms poll: 14655.571 ops/ms put: 1035.033 ops/ms take: 1217.649 ops/ms Iteration 9: 31973.524 ops/ms offer: 5664.212 ops/ms poll: 19506.150 ops/ms put: 5233.572 ops/ms take: 1569.590 ops/ms Iteration 10: 38437.449 ops/ms offer: 21000.707 ops/ms poll: 8790.123 ops/ms put: 2671.347 ops/ms take: 5975.272 ops/ms # Run progress: 11.67% complete, ETA 00:13:31 # Fork: 2 of 3 # Warmup Iteration 1: 42407.170 ops/ms # Warmup Iteration 2: 12815.266 ops/ms # Warmup Iteration 3: 18346.649 ops/ms # Warmup Iteration 4: 23589.111 ops/ms # Warmup Iteration 5: 35239.182 ops/ms # Warmup Iteration 6: 53596.527 ops/ms # Warmup Iteration 7: 12728.407 ops/ms # Warmup Iteration 8: 14784.159 ops/ms # Warmup Iteration 9: 17977.381 ops/ms # Warmup Iteration 10: 51559.021 ops/ms Iteration 1: 50470.328 ops/ms offer: 17061.400 ops/ms poll: 30962.858 ops/ms put: 1134.983 ops/ms take: 1311.087 ops/ms Iteration 2: 51588.784 ops/ms offer: 15473.984 ops/ms poll: 29377.996 ops/ms put: 2186.197 ops/ms take: 4550.607 ops/ms Iteration 3: 11216.999 ops/ms offer: 4806.688 ops/ms poll: 3893.384 ops/ms put: 351.129 ops/ms take: 2165.798 ops/ms Iteration 4: 14331.221 ops/ms offer: 5598.906 ops/ms poll: 4586.458 ops/ms put: 2370.388 ops/ms take: 1775.468 ops/ms Iteration 5: 29164.196 ops/ms offer: 15907.692 ops/ms poll: 6461.376 ops/ms put: 2001.961 ops/ms take: 4793.166 ops/ms Iteration 6: 47055.373 ops/ms offer: 19638.373 ops/ms poll: 22371.019 ops/ms put: 2789.689 ops/ms take: 2256.292 ops/ms Iteration 7: 27989.300 ops/ms offer: 8329.115 ops/ms poll: 5427.727 ops/ms put: 7089.405 ops/ms take: 7143.052 ops/ms Iteration 8: 25191.993 ops/ms offer: 18844.108 ops/ms poll: 3032.393 ops/ms put: 1171.285 ops/ms take: 2144.207 ops/ms Iteration 9: 9434.416 ops/ms offer: 2490.084 ops/ms poll: 5767.707 ops/ms put: 796.203 ops/ms take: 380.421 ops/ms Iteration 10: 57077.961 ops/ms offer: 29368.726 ops/ms poll: 21067.777 ops/ms put: 2719.337 ops/ms take: 3922.121 ops/ms # Run progress: 13.33% complete, ETA 00:13:15 # Fork: 3 of 3 # Warmup Iteration 1: 27036.711 ops/ms # Warmup Iteration 2: 12109.010 ops/ms # Warmup Iteration 3: 14910.172 ops/ms # Warmup Iteration 4: 22153.322 ops/ms # Warmup Iteration 5: 39398.019 ops/ms # Warmup Iteration 6: 10627.455 ops/ms # Warmup Iteration 7: 12759.621 ops/ms # Warmup Iteration 8: 26784.264 ops/ms # Warmup Iteration 9: 11234.352 ops/ms # Warmup Iteration 10: 10915.783 ops/ms Iteration 1: 72799.702 ops/ms offer: 12135.396 ops/ms poll: 50146.186 ops/ms put: 4319.090 ops/ms take: 6199.029 ops/ms Iteration 2: 11866.263 ops/ms offer: 4040.635 ops/ms poll: 6636.186 ops/ms put: 855.036 ops/ms take: 334.407 ops/ms Iteration 3: 31732.350 ops/ms offer: 15805.178 ops/ms poll: 6716.973 ops/ms put: 7740.361 ops/ms take: 1469.837 ops/ms Iteration 4: 58336.620 ops/ms offer: 6268.286 ops/ms poll: 40728.330 ops/ms put: 5252.867 ops/ms take: 6087.137 ops/ms Iteration 5: 9003.353 ops/ms offer: 2674.458 ops/ms poll: 5149.581 ops/ms put: 929.712 ops/ms take: 249.601 ops/ms Iteration 6: 14385.075 ops/ms offer: 7516.045 ops/ms poll: 5829.252 ops/ms put: 616.654 ops/ms take: 423.124 ops/ms Iteration 7: 26104.746 ops/ms offer: 11902.277 ops/ms poll: 4618.942 ops/ms put: 8628.842 ops/ms take: 954.685 ops/ms Iteration 8: 25363.950 ops/ms offer: 10448.212 ops/ms poll: 6582.750 ops/ms put: 3376.285 ops/ms take: 4956.703 ops/ms Iteration 9: 16739.686 ops/ms offer: 6037.683 ops/ms poll: 4123.915 ops/ms put: 2648.910 ops/ms take: 3929.178 ops/ms Iteration 10: 11438.920 ops/ms offer: 5798.291 ops/ms poll: 2420.178 ops/ms put: 2389.553 ops/ms take: 830.900 ops/ms Result "com.argosware.blog.lwl.LockingWithoutLock.queue": 30026.391 ±(99.9%) 12046.207 ops/ms [Average] (min, avg, max) = (8109.449, 30026.391, 72799.702), stdev = 18030.196 CI (99.9%): [17980.184, 42072.598] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:offer": 10270.754 ±(99.9%) 4598.250 ops/ms [Average] (min, avg, max) = (2490.084, 10270.754, 29368.726), stdev = 6882.444 CI (99.9%): [5672.504, 14869.004] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:poll": 13652.316 ±(99.9%) 8775.126 ops/ms [Average] (min, avg, max) = (2094.326, 13652.316, 50146.186), stdev = 13134.196 CI (99.9%): [4877.190, 22427.442] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:put": 3369.746 ±(99.9%) 1762.552 ops/ms [Average] (min, avg, max) = (351.129, 3369.746, 8971.076), stdev = 2638.105 CI (99.9%): [1607.194, 5132.298] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:take": 2733.575 ±(99.9%) 1415.760 ops/ms [Average] (min, avg, max) = (249.601, 2733.575, 7143.052), stdev = 2119.044 CI (99.9%): [1317.815, 4149.336] (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, spinningCounterpart = true) # Run progress: 15.00% complete, ETA 00:13:00 # Fork: 1 of 3 # Warmup Iteration 1: 15043.934 ops/ms # Warmup Iteration 2: 19159.840 ops/ms # Warmup Iteration 3: 36365.050 ops/ms # Warmup Iteration 4: 20213.108 ops/ms # Warmup Iteration 5: 32464.066 ops/ms # Warmup Iteration 6: 30595.272 ops/ms # Warmup Iteration 7: 25145.644 ops/ms # Warmup Iteration 8: 10621.306 ops/ms # Warmup Iteration 9: 52816.877 ops/ms # Warmup Iteration 10: 11056.072 ops/ms Iteration 1: 67228.206 ops/ms offer: 3925.806 ops/ms poll: 50021.475 ops/ms put: 433.916 ops/ms take: 12847.009 ops/ms Iteration 2: 37858.955 ops/ms offer: 18201.479 ops/ms poll: 10520.704 ops/ms put: 5510.798 ops/ms take: 3625.974 ops/ms Iteration 3: 25616.827 ops/ms offer: 7502.696 ops/ms poll: 4857.572 ops/ms put: 5062.716 ops/ms take: 8193.844 ops/ms Iteration 4: 44732.182 ops/ms offer: 5613.988 ops/ms poll: 25047.971 ops/ms put: 2686.127 ops/ms take: 11384.096 ops/ms Iteration 5: 36670.843 ops/ms offer: 12707.412 ops/ms poll: 15816.662 ops/ms put: 5187.907 ops/ms take: 2958.863 ops/ms Iteration 6: 20216.186 ops/ms offer: 3937.989 ops/ms poll: 14931.191 ops/ms put: 280.439 ops/ms take: 1066.567 ops/ms Iteration 7: 28355.008 ops/ms offer: 5567.877 ops/ms poll: 10464.440 ops/ms put: 1754.701 ops/ms take: 10567.990 ops/ms Iteration 8: 11358.585 ops/ms offer: 3439.474 ops/ms poll: 5561.839 ops/ms put: 913.647 ops/ms take: 1443.626 ops/ms Iteration 9: 34982.022 ops/ms offer: 8251.553 ops/ms poll: 9342.975 ops/ms put: 4992.795 ops/ms take: 12394.698 ops/ms Iteration 10: 50823.134 ops/ms offer: 26839.055 ops/ms poll: 9207.268 ops/ms put: 2736.333 ops/ms take: 12040.478 ops/ms # Run progress: 16.67% complete, ETA 00:12:45 # Fork: 2 of 3 # Warmup Iteration 1: 23657.603 ops/ms # Warmup Iteration 2: 30803.655 ops/ms # Warmup Iteration 3: 36760.410 ops/ms # Warmup Iteration 4: 13649.721 ops/ms # Warmup Iteration 5: 12247.478 ops/ms # Warmup Iteration 6: 25251.273 ops/ms # Warmup Iteration 7: 31190.075 ops/ms # Warmup Iteration 8: 13545.569 ops/ms # Warmup Iteration 9: 28239.057 ops/ms # Warmup Iteration 10: 15739.928 ops/ms Iteration 1: 36530.405 ops/ms offer: 15422.731 ops/ms poll: 8182.866 ops/ms put: 5286.289 ops/ms take: 7638.519 ops/ms Iteration 2: 20733.293 ops/ms offer: 2591.612 ops/ms poll: 5331.042 ops/ms put: 1223.036 ops/ms take: 11587.604 ops/ms Iteration 3: 13071.069 ops/ms offer: 4595.716 ops/ms poll: 3778.124 ops/ms put: 3266.179 ops/ms take: 1431.051 ops/ms Iteration 4: 11626.740 ops/ms offer: 8033.069 ops/ms poll: 1858.791 ops/ms put: 497.914 ops/ms take: 1236.966 ops/ms Iteration 5: 12174.910 ops/ms offer: 2647.015 ops/ms poll: 5507.095 ops/ms put: 2548.509 ops/ms take: 1472.291 ops/ms Iteration 6: 36769.156 ops/ms offer: 4269.889 ops/ms poll: 25668.081 ops/ms put: 4814.108 ops/ms take: 2017.077 ops/ms Iteration 7: 30299.522 ops/ms offer: 10257.864 ops/ms poll: 6434.421 ops/ms put: 1860.787 ops/ms take: 11746.450 ops/ms Iteration 8: 46438.398 ops/ms offer: 14509.613 ops/ms poll: 26448.724 ops/ms put: 2699.724 ops/ms take: 2780.338 ops/ms Iteration 9: 55181.105 ops/ms offer: 6819.307 ops/ms poll: 29208.353 ops/ms put: 2223.479 ops/ms take: 16929.967 ops/ms Iteration 10: 30095.539 ops/ms offer: 7206.240 ops/ms poll: 20173.999 ops/ms put: 1265.265 ops/ms take: 1450.034 ops/ms # Run progress: 18.33% complete, ETA 00:12:30 # Fork: 3 of 3 # Warmup Iteration 1: 15955.152 ops/ms # Warmup Iteration 2: 17047.251 ops/ms # Warmup Iteration 3: 14409.061 ops/ms # Warmup Iteration 4: 14080.755 ops/ms # Warmup Iteration 5: 18495.593 ops/ms # Warmup Iteration 6: 9102.765 ops/ms # Warmup Iteration 7: 19304.221 ops/ms # Warmup Iteration 8: 10447.111 ops/ms # Warmup Iteration 9: 24620.525 ops/ms # Warmup Iteration 10: 10586.669 ops/ms Iteration 1: 12619.755 ops/ms offer: 5114.476 ops/ms poll: 5429.882 ops/ms put: 825.543 ops/ms take: 1249.854 ops/ms Iteration 2: 8315.546 ops/ms offer: 2348.477 ops/ms poll: 3657.946 ops/ms put: 1100.654 ops/ms take: 1208.469 ops/ms Iteration 3: 14104.029 ops/ms offer: 5568.784 ops/ms poll: 6323.207 ops/ms put: 949.572 ops/ms take: 1262.466 ops/ms Iteration 4: 10321.999 ops/ms offer: 2313.424 ops/ms poll: 5525.992 ops/ms put: 706.283 ops/ms take: 1776.301 ops/ms Iteration 5: 11141.507 ops/ms offer: 4929.059 ops/ms poll: 2354.523 ops/ms put: 714.388 ops/ms take: 3143.538 ops/ms Iteration 6: 9149.503 ops/ms offer: 4517.284 ops/ms poll: 2695.326 ops/ms put: 381.820 ops/ms take: 1555.073 ops/ms Iteration 7: 8707.862 ops/ms offer: 5579.083 ops/ms poll: 2221.135 ops/ms put: 279.130 ops/ms take: 628.515 ops/ms Iteration 8: 24899.751 ops/ms offer: 11141.219 ops/ms poll: 6683.108 ops/ms put: 5416.623 ops/ms take: 1658.802 ops/ms Iteration 9: 25787.995 ops/ms offer: 7746.956 ops/ms poll: 6120.160 ops/ms put: 399.014 ops/ms take: 11521.865 ops/ms Iteration 10: 10704.077 ops/ms offer: 4003.573 ops/ms poll: 4016.738 ops/ms put: 2035.169 ops/ms take: 648.597 ops/ms Result "com.argosware.blog.lwl.LockingWithoutLock.queue": 26217.137 ±(99.9%) 10597.378 ops/ms [Average] (min, avg, max) = (8315.546, 26217.137, 67228.206), stdev = 15861.658 CI (99.9%): [15619.759, 36814.515] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:offer": 7520.091 ±(99.9%) 3638.075 ops/ms [Average] (min, avg, max) = (2313.424, 7520.091, 26839.055), stdev = 5445.300 CI (99.9%): [3882.016, 11158.165] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:poll": 11113.054 ±(99.9%) 7209.862 ops/ms [Average] (min, avg, max) = (1858.791, 11113.054, 50021.475), stdev = 10791.382 CI (99.9%): [3903.192, 18322.915] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:put": 2268.429 ±(99.9%) 1224.068 ops/ms [Average] (min, avg, max) = (279.130, 2268.429, 5510.798), stdev = 1832.127 CI (99.9%): [1044.361, 3492.497] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:take": 5315.564 ±(99.9%) 3381.315 ops/ms [Average] (min, avg, max) = (628.515, 5315.564, 16929.967), stdev = 5060.993 CI (99.9%): [1934.249, 8696.879] (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 = PADDED_SPIN, spinningCounterpart = false) # Run progress: 20.00% complete, ETA 00:12:14 # Fork: 1 of 3 # Warmup Iteration 1: 55229.084 ops/ms # Warmup Iteration 2: 43975.109 ops/ms # Warmup Iteration 3: 43424.457 ops/ms # Warmup Iteration 4: 61564.062 ops/ms # Warmup Iteration 5: 50313.884 ops/ms # Warmup Iteration 6: 57952.597 ops/ms # Warmup Iteration 7: 44856.423 ops/ms # Warmup Iteration 8: 33127.778 ops/ms # Warmup Iteration 9: 66909.010 ops/ms # Warmup Iteration 10: 47262.857 ops/ms Iteration 1: 38803.516 ops/ms offer: 11257.028 ops/ms poll: 18263.072 ops/ms put: 2262.418 ops/ms take: 7020.998 ops/ms Iteration 2: 34649.383 ops/ms offer: 11141.555 ops/ms poll: 18755.996 ops/ms put: 2331.033 ops/ms take: 2420.799 ops/ms Iteration 3: 44828.765 ops/ms offer: 10643.273 ops/ms poll: 26464.549 ops/ms put: 2238.759 ops/ms take: 5482.185 ops/ms Iteration 4: 51668.802 ops/ms offer: 10381.764 ops/ms poll: 36960.934 ops/ms put: 2100.830 ops/ms take: 2225.274 ops/ms Iteration 5: 41798.662 ops/ms offer: 12223.867 ops/ms poll: 16640.855 ops/ms put: 2227.959 ops/ms take: 10705.981 ops/ms Iteration 6: 38004.423 ops/ms offer: 11121.522 ops/ms poll: 14981.328 ops/ms put: 5846.256 ops/ms take: 6055.317 ops/ms Iteration 7: 37443.065 ops/ms offer: 13326.499 ops/ms poll: 17598.046 ops/ms put: 4736.445 ops/ms take: 1782.075 ops/ms Iteration 8: 35690.587 ops/ms offer: 11789.308 ops/ms poll: 18704.454 ops/ms put: 1994.033 ops/ms take: 3202.791 ops/ms Iteration 9: 45021.375 ops/ms offer: 16872.151 ops/ms poll: 20662.609 ops/ms put: 2055.047 ops/ms take: 5431.567 ops/ms Iteration 10: 49922.616 ops/ms offer: 21086.003 ops/ms poll: 20341.832 ops/ms put: 6162.479 ops/ms take: 2332.301 ops/ms # Run progress: 21.67% complete, ETA 00:11:59 # Fork: 2 of 3 # Warmup Iteration 1: 46676.415 ops/ms # Warmup Iteration 2: 51596.074 ops/ms # Warmup Iteration 3: 49683.603 ops/ms # Warmup Iteration 4: 67096.235 ops/ms # Warmup Iteration 5: 53319.096 ops/ms # Warmup Iteration 6: 50525.238 ops/ms # Warmup Iteration 7: 62422.928 ops/ms # Warmup Iteration 8: 59214.698 ops/ms # Warmup Iteration 9: 65225.988 ops/ms # Warmup Iteration 10: 42539.171 ops/ms Iteration 1: 40564.750 ops/ms offer: 11514.956 ops/ms poll: 20241.373 ops/ms put: 2305.760 ops/ms take: 6502.661 ops/ms Iteration 2: 37607.561 ops/ms offer: 13695.965 ops/ms poll: 19998.563 ops/ms put: 1598.840 ops/ms take: 2314.194 ops/ms Iteration 3: 38842.465 ops/ms offer: 10919.166 ops/ms poll: 20530.661 ops/ms put: 2110.952 ops/ms take: 5281.685 ops/ms Iteration 4: 34468.429 ops/ms offer: 10705.611 ops/ms poll: 19500.689 ops/ms put: 2074.399 ops/ms take: 2187.729 ops/ms Iteration 5: 52767.275 ops/ms offer: 23250.286 ops/ms poll: 21121.296 ops/ms put: 6230.847 ops/ms take: 2164.845 ops/ms Iteration 6: 46647.578 ops/ms offer: 18138.947 ops/ms poll: 20156.673 ops/ms put: 6067.234 ops/ms take: 2284.724 ops/ms Iteration 7: 36405.544 ops/ms offer: 10507.191 ops/ms poll: 22328.687 ops/ms put: 2121.354 ops/ms take: 1448.313 ops/ms Iteration 8: 33957.954 ops/ms offer: 11092.001 ops/ms poll: 19140.164 ops/ms put: 1553.669 ops/ms take: 2172.120 ops/ms Iteration 9: 38069.826 ops/ms offer: 12123.660 ops/ms poll: 21639.723 ops/ms put: 2188.309 ops/ms take: 2118.135 ops/ms Iteration 10: 39670.533 ops/ms offer: 12218.806 ops/ms poll: 23022.580 ops/ms put: 2229.216 ops/ms take: 2199.931 ops/ms # Run progress: 23.33% complete, ETA 00:11:44 # Fork: 3 of 3 # Warmup Iteration 1: 47584.589 ops/ms # Warmup Iteration 2: 43030.508 ops/ms # Warmup Iteration 3: 56456.622 ops/ms # Warmup Iteration 4: 49451.569 ops/ms # Warmup Iteration 5: 48421.540 ops/ms # Warmup Iteration 6: 45676.047 ops/ms # Warmup Iteration 7: 47854.436 ops/ms # Warmup Iteration 8: 55684.229 ops/ms # Warmup Iteration 9: 52123.973 ops/ms # Warmup Iteration 10: 51117.296 ops/ms Iteration 1: 43657.342 ops/ms offer: 10670.040 ops/ms poll: 19735.539 ops/ms put: 10953.994 ops/ms take: 2297.768 ops/ms Iteration 2: 56495.768 ops/ms offer: 23376.000 ops/ms poll: 24301.585 ops/ms put: 6538.925 ops/ms take: 2279.258 ops/ms Iteration 3: 38391.191 ops/ms offer: 11848.253 ops/ms poll: 18226.545 ops/ms put: 6034.293 ops/ms take: 2282.100 ops/ms Iteration 4: 48292.183 ops/ms offer: 20550.762 ops/ms poll: 19377.891 ops/ms put: 5828.940 ops/ms take: 2534.590 ops/ms Iteration 5: 77962.095 ops/ms offer: 47060.485 ops/ms poll: 19305.625 ops/ms put: 5921.946 ops/ms take: 5674.039 ops/ms Iteration 6: 50147.421 ops/ms offer: 20380.349 ops/ms poll: 17661.770 ops/ms put: 6008.273 ops/ms take: 6097.029 ops/ms Iteration 7: 39288.024 ops/ms offer: 10546.360 ops/ms poll: 17273.646 ops/ms put: 2116.790 ops/ms take: 9351.228 ops/ms Iteration 8: 60194.514 ops/ms offer: 11137.286 ops/ms poll: 37662.546 ops/ms put: 5387.126 ops/ms take: 6007.557 ops/ms Iteration 9: 53141.125 ops/ms offer: 20879.084 ops/ms poll: 24267.533 ops/ms put: 2103.316 ops/ms take: 5891.192 ops/ms Iteration 10: 85148.596 ops/ms offer: 34423.675 ops/ms poll: 37696.982 ops/ms put: 2213.195 ops/ms take: 10814.745 ops/ms Result "com.argosware.blog.lwl.LockingWithoutLock.queue": 45651.712 ±(99.9%) 8046.152 ops/ms [Average] (min, avg, max) = (33957.954, 45651.712, 85148.596), stdev = 12043.102 CI (99.9%): [37605.560, 53697.864] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:offer": 15829.395 ±(99.9%) 5459.404 ops/ms [Average] (min, avg, max) = (10381.764, 15829.395, 47060.485), stdev = 8171.379 CI (99.9%): [10369.991, 21288.799] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:poll": 21752.125 ±(99.9%) 3893.978 ops/ms [Average] (min, avg, max) = (14981.328, 21752.125, 37696.982), stdev = 5828.323 CI (99.9%): [17858.147, 25646.102] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:put": 3784.755 ±(99.9%) 1539.948 ops/ms [Average] (min, avg, max) = (1553.669, 3784.755, 10953.994), stdev = 2304.922 CI (99.9%): [2244.806, 5324.703] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:take": 4285.438 ±(99.9%) 1806.075 ops/ms [Average] (min, avg, max) = (1448.313, 4285.438, 10814.745), stdev = 2703.248 CI (99.9%): [2479.363, 6091.513] (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 = PADDED_SPIN, spinningCounterpart = true) # Run progress: 25.00% complete, ETA 00:11:28 # Fork: 1 of 3 # Warmup Iteration 1: 43163.412 ops/ms # Warmup Iteration 2: 42122.694 ops/ms # Warmup Iteration 3: 40529.175 ops/ms # Warmup Iteration 4: 40405.476 ops/ms # Warmup Iteration 5: 37391.229 ops/ms # Warmup Iteration 6: 40914.510 ops/ms # Warmup Iteration 7: 46017.281 ops/ms # Warmup Iteration 8: 51089.668 ops/ms # Warmup Iteration 9: 56723.560 ops/ms # Warmup Iteration 10: 35090.569 ops/ms Iteration 1: 46472.353 ops/ms offer: 10188.058 ops/ms poll: 19857.169 ops/ms put: 8820.678 ops/ms take: 7606.448 ops/ms Iteration 2: 36000.255 ops/ms offer: 10886.429 ops/ms poll: 20709.948 ops/ms put: 2172.886 ops/ms take: 2230.992 ops/ms Iteration 3: 33477.358 ops/ms offer: 10123.676 ops/ms poll: 18956.034 ops/ms put: 2140.486 ops/ms take: 2257.161 ops/ms Iteration 4: 44727.580 ops/ms offer: 17008.983 ops/ms poll: 20308.383 ops/ms put: 5786.523 ops/ms take: 1623.691 ops/ms Iteration 5: 51772.575 ops/ms offer: 17253.616 ops/ms poll: 21990.480 ops/ms put: 5828.805 ops/ms take: 6699.674 ops/ms Iteration 6: 62561.849 ops/ms offer: 15909.881 ops/ms poll: 32579.752 ops/ms put: 2134.573 ops/ms take: 11937.644 ops/ms Iteration 7: 47990.987 ops/ms offer: 18769.801 ops/ms poll: 17543.204 ops/ms put: 5509.118 ops/ms take: 6168.864 ops/ms Iteration 8: 48246.948 ops/ms offer: 17389.432 ops/ms poll: 22517.489 ops/ms put: 2115.719 ops/ms take: 6224.307 ops/ms Iteration 9: 54405.261 ops/ms offer: 15267.438 ops/ms poll: 26850.787 ops/ms put: 5789.582 ops/ms take: 6497.454 ops/ms Iteration 10: 33515.916 ops/ms offer: 10038.154 ops/ms poll: 19258.800 ops/ms put: 2098.906 ops/ms take: 2120.057 ops/ms # Run progress: 26.67% complete, ETA 00:11:13 # Fork: 2 of 3 # Warmup Iteration 1: 47406.218 ops/ms # Warmup Iteration 2: 47048.257 ops/ms # Warmup Iteration 3: 35045.066 ops/ms # Warmup Iteration 4: 45168.708 ops/ms # Warmup Iteration 5: 40943.012 ops/ms # Warmup Iteration 6: 45100.211 ops/ms # Warmup Iteration 7: 32704.233 ops/ms # Warmup Iteration 8: 43653.262 ops/ms # Warmup Iteration 9: 35951.023 ops/ms # Warmup Iteration 10: 55108.766 ops/ms Iteration 1: 42943.626 ops/ms offer: 10060.855 ops/ms poll: 18798.631 ops/ms put: 6525.420 ops/ms take: 7558.720 ops/ms Iteration 2: 40428.105 ops/ms offer: 11345.596 ops/ms poll: 20958.356 ops/ms put: 5842.777 ops/ms take: 2281.375 ops/ms Iteration 3: 46223.892 ops/ms offer: 14831.472 ops/ms poll: 23298.713 ops/ms put: 5857.409 ops/ms take: 2236.298 ops/ms Iteration 4: 44326.364 ops/ms offer: 12042.071 ops/ms poll: 28454.312 ops/ms put: 1555.703 ops/ms take: 2274.278 ops/ms Iteration 5: 41976.181 ops/ms offer: 9616.205 ops/ms poll: 20538.131 ops/ms put: 5473.597 ops/ms take: 6348.249 ops/ms Iteration 6: 50000.864 ops/ms offer: 11130.897 ops/ms poll: 26408.822 ops/ms put: 5707.047 ops/ms take: 6754.098 ops/ms Iteration 7: 38666.853 ops/ms offer: 13009.759 ops/ms poll: 18071.493 ops/ms put: 5381.946 ops/ms take: 2203.656 ops/ms Iteration 8: 56877.294 ops/ms offer: 31216.124 ops/ms poll: 18392.996 ops/ms put: 5622.923 ops/ms take: 1645.251 ops/ms Iteration 9: 58353.925 ops/ms offer: 10419.874 ops/ms poll: 40698.299 ops/ms put: 2207.842 ops/ms take: 5027.910 ops/ms Iteration 10: 36973.935 ops/ms offer: 14176.863 ops/ms poll: 18505.497 ops/ms put: 2085.267 ops/ms take: 2206.308 ops/ms # Run progress: 28.33% complete, ETA 00:10:58 # Fork: 3 of 3 # Warmup Iteration 1: 40176.354 ops/ms # Warmup Iteration 2: 43980.509 ops/ms # Warmup Iteration 3: 46624.714 ops/ms # Warmup Iteration 4: 42643.705 ops/ms # Warmup Iteration 5: 37630.373 ops/ms # Warmup Iteration 6: 41659.120 ops/ms # Warmup Iteration 7: 37349.561 ops/ms # Warmup Iteration 8: 37455.191 ops/ms # Warmup Iteration 9: 34563.026 ops/ms # Warmup Iteration 10: 63864.987 ops/ms Iteration 1: 46530.754 ops/ms offer: 10406.828 ops/ms poll: 28848.075 ops/ms put: 5575.465 ops/ms take: 1700.386 ops/ms Iteration 2: 40944.068 ops/ms offer: 10703.812 ops/ms poll: 26176.057 ops/ms put: 1639.003 ops/ms take: 2425.195 ops/ms Iteration 3: 46690.153 ops/ms offer: 16814.439 ops/ms poll: 20621.957 ops/ms put: 2095.004 ops/ms take: 7158.754 ops/ms Iteration 4: 43042.806 ops/ms offer: 15838.303 ops/ms poll: 19688.011 ops/ms put: 2090.721 ops/ms take: 5425.770 ops/ms Iteration 5: 32120.816 ops/ms offer: 9430.279 ops/ms poll: 18918.989 ops/ms put: 2175.683 ops/ms take: 1595.865 ops/ms Iteration 6: 37610.201 ops/ms offer: 12122.401 ops/ms poll: 20989.170 ops/ms put: 2227.435 ops/ms take: 2271.194 ops/ms Iteration 7: 49629.072 ops/ms offer: 14523.590 ops/ms poll: 20627.060 ops/ms put: 2093.097 ops/ms take: 12385.325 ops/ms Iteration 8: 51246.070 ops/ms offer: 15168.709 ops/ms poll: 20917.650 ops/ms put: 2216.084 ops/ms take: 12943.627 ops/ms Iteration 9: 46595.679 ops/ms offer: 14640.132 ops/ms poll: 16619.817 ops/ms put: 9457.360 ops/ms take: 5878.370 ops/ms Iteration 10: 50885.129 ops/ms offer: 16822.489 ops/ms poll: 26091.868 ops/ms put: 5623.040 ops/ms take: 2347.731 ops/ms Result "com.argosware.blog.lwl.LockingWithoutLock.queue": 45374.562 ±(99.9%) 5016.086 ops/ms [Average] (min, avg, max) = (32120.816, 45374.562, 62561.849), stdev = 7507.841 CI (99.9%): [40358.477, 50390.648] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:offer": 13905.206 ±(99.9%) 2904.489 ops/ms [Average] (min, avg, max) = (9430.279, 13905.206, 31216.124), stdev = 4347.303 CI (99.9%): [11000.716, 16809.695] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:poll": 22473.198 ±(99.9%) 3447.474 ops/ms [Average] (min, avg, max) = (16619.817, 22473.198, 40698.299), stdev = 5160.017 CI (99.9%): [19025.724, 25920.672] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:put": 4128.337 ±(99.9%) 1514.125 ops/ms [Average] (min, avg, max) = (1555.703, 4128.337, 9457.360), stdev = 2266.271 CI (99.9%): [2614.212, 5642.461] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:take": 4867.822 ±(99.9%) 2236.291 ops/ms [Average] (min, avg, max) = (1595.865, 4867.822, 12943.627), stdev = 3347.175 CI (99.9%): [2631.531, 7104.113] (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 = SPSC, spinningCounterpart = false) # Run progress: 30.00% complete, ETA 00:10:42 # Fork: 1 of 3 # Warmup Iteration 1: 130430.575 ops/ms # Warmup Iteration 2: 134280.088 ops/ms # Warmup Iteration 3: 125952.678 ops/ms # Warmup Iteration 4: 176760.595 ops/ms # Warmup Iteration 5: 172077.647 ops/ms # Warmup Iteration 6: 151833.183 ops/ms # Warmup Iteration 7: 46617.720 ops/ms # Warmup Iteration 8: 123293.577 ops/ms # Warmup Iteration 9: 100798.108 ops/ms # Warmup Iteration 10: 106936.151 ops/ms Iteration 1: 83959.215 ops/ms offer: 65574.340 ops/ms poll: 18255.203 ops/ms put: 66.184 ops/ms take: 63.488 ops/ms Iteration 2: 182760.698 ops/ms offer: 90402.201 ops/ms poll: 92232.711 ops/ms put: 61.759 ops/ms take: 64.027 ops/ms Iteration 3: 193762.369 ops/ms offer: 88393.814 ops/ms poll: 105253.844 ops/ms put: 55.480 ops/ms take: 59.232 ops/ms Iteration 4: 189295.253 ops/ms offer: 79691.108 ops/ms poll: 109480.717 ops/ms put: 61.514 ops/ms take: 61.913 ops/ms Iteration 5: 162131.938 ops/ms offer: 66947.274 ops/ms poll: 95062.601 ops/ms put: 60.934 ops/ms take: 61.129 ops/ms Iteration 6: 124995.784 ops/ms offer: 36591.942 ops/ms poll: 88289.084 ops/ms put: 55.930 ops/ms take: 58.828 ops/ms Iteration 7: 118192.791 ops/ms offer: 66127.145 ops/ms poll: 51942.169 ops/ms put: 60.679 ops/ms take: 62.798 ops/ms Iteration 8: 104779.485 ops/ms offer: 48550.131 ops/ms poll: 56109.580 ops/ms put: 59.010 ops/ms take: 60.764 ops/ms Iteration 9: 112174.749 ops/ms offer: 62936.037 ops/ms poll: 49117.428 ops/ms put: 61.547 ops/ms take: 59.737 ops/ms Iteration 10: 76124.021 ops/ms offer: 34528.587 ops/ms poll: 41479.456 ops/ms put: 57.154 ops/ms take: 58.824 ops/ms # Run progress: 31.67% complete, ETA 00:10:27 # Fork: 2 of 3 # Warmup Iteration 1: 90722.867 ops/ms # Warmup Iteration 2: 108446.604 ops/ms # Warmup Iteration 3: 56883.119 ops/ms # Warmup Iteration 4: 162767.297 ops/ms # Warmup Iteration 5: 113901.319 ops/ms # Warmup Iteration 6: 74317.595 ops/ms # Warmup Iteration 7: 110980.600 ops/ms # Warmup Iteration 8: 136501.856 ops/ms # Warmup Iteration 9: 142624.409 ops/ms # Warmup Iteration 10: 47633.661 ops/ms Iteration 1: 148173.462 ops/ms offer: 51077.650 ops/ms poll: 96963.155 ops/ms put: 62.003 ops/ms take: 70.654 ops/ms Iteration 2: 235055.053 ops/ms offer: 105412.967 ops/ms poll: 129509.284 ops/ms put: 66.881 ops/ms take: 65.920 ops/ms Iteration 3: 96585.934 ops/ms offer: 49524.708 ops/ms poll: 46934.404 ops/ms put: 63.621 ops/ms take: 63.201 ops/ms Iteration 4: 71569.320 ops/ms offer: 28400.057 ops/ms poll: 43046.121 ops/ms put: 62.581 ops/ms take: 60.562 ops/ms Iteration 5: 86702.235 ops/ms offer: 43341.310 ops/ms poll: 43244.567 ops/ms put: 56.417 ops/ms take: 59.941 ops/ms Iteration 6: 86158.321 ops/ms offer: 38180.828 ops/ms poll: 47851.268 ops/ms put: 63.776 ops/ms take: 62.449 ops/ms Iteration 7: 98328.152 ops/ms offer: 59374.719 ops/ms poll: 38839.574 ops/ms put: 59.186 ops/ms take: 54.672 ops/ms Iteration 8: 95454.041 ops/ms offer: 48204.526 ops/ms poll: 47125.789 ops/ms put: 63.279 ops/ms take: 60.446 ops/ms Iteration 9: 182098.177 ops/ms offer: 84384.824 ops/ms poll: 97588.435 ops/ms put: 58.050 ops/ms take: 66.868 ops/ms Iteration 10: 22660.539 ops/ms offer: 13873.366 ops/ms poll: 8663.728 ops/ms put: 62.217 ops/ms take: 61.228 ops/ms # Run progress: 33.33% complete, ETA 00:10:12 # Fork: 3 of 3 # Warmup Iteration 1: 93417.416 ops/ms # Warmup Iteration 2: 111756.955 ops/ms # Warmup Iteration 3: 125010.247 ops/ms # Warmup Iteration 4: 108837.571 ops/ms # Warmup Iteration 5: 186984.797 ops/ms # Warmup Iteration 6: 92345.736 ops/ms # Warmup Iteration 7: 187324.743 ops/ms # Warmup Iteration 8: 132408.353 ops/ms # Warmup Iteration 9: 173068.561 ops/ms # Warmup Iteration 10: 193639.130 ops/ms Iteration 1: 40990.573 ops/ms offer: 4966.608 ops/ms poll: 35891.150 ops/ms put: 71.928 ops/ms take: 60.888 ops/ms Iteration 2: 167176.471 ops/ms offer: 72577.753 ops/ms poll: 94475.133 ops/ms put: 63.253 ops/ms take: 60.331 ops/ms Iteration 3: 136890.214 ops/ms offer: 61544.289 ops/ms poll: 75221.759 ops/ms put: 62.482 ops/ms take: 61.684 ops/ms Iteration 4: 102372.578 ops/ms offer: 39607.309 ops/ms poll: 62641.089 ops/ms put: 60.775 ops/ms take: 63.405 ops/ms Iteration 5: 33867.559 ops/ms offer: 25899.988 ops/ms poll: 7840.064 ops/ms put: 63.039 ops/ms take: 64.469 ops/ms Iteration 6: 146050.697 ops/ms offer: 77026.223 ops/ms poll: 68904.695 ops/ms put: 62.904 ops/ms take: 56.875 ops/ms Iteration 7: 128111.495 ops/ms offer: 73732.886 ops/ms poll: 54251.477 ops/ms put: 62.333 ops/ms take: 64.798 ops/ms Iteration 8: 53464.973 ops/ms offer: 16549.042 ops/ms poll: 36786.317 ops/ms put: 63.389 ops/ms take: 66.225 ops/ms Iteration 9: 81388.227 ops/ms offer: 59442.026 ops/ms poll: 21825.810 ops/ms put: 57.996 ops/ms take: 62.395 ops/ms Iteration 10: 116736.090 ops/ms offer: 89207.291 ops/ms poll: 27402.037 ops/ms put: 63.538 ops/ms take: 63.223 ops/ms Result "com.argosware.blog.lwl.LockingWithoutLock.queue": 115933.680 ±(99.9%) 34144.855 ops/ms [Average] (min, avg, max) = (22660.539, 115933.680, 235055.053), stdev = 51106.415 CI (99.9%): [81788.826, 150078.535] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:offer": 56069.032 ±(99.9%) 16627.274 ops/ms [Average] (min, avg, max) = (4966.608, 56069.032, 105412.967), stdev = 24886.922 CI (99.9%): [39441.758, 72696.305] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:poll": 59740.955 ±(99.9%) 21306.522 ops/ms [Average] (min, avg, max) = (7840.064, 59740.955, 129509.284), stdev = 31890.601 CI (99.9%): [38434.433, 81047.477] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:put": 61.661 ±(99.9%) 2.287 ops/ms [Average] (min, avg, max) = (55.480, 61.661, 71.928), stdev = 3.423 CI (99.9%): [59.374, 63.948] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:take": 62.033 ±(99.9%) 2.100 ops/ms [Average] (min, avg, max) = (54.672, 62.033, 70.654), stdev = 3.143 CI (99.9%): [59.932, 64.133] (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 = SPSC, spinningCounterpart = true) # Run progress: 35.00% complete, ETA 00:09:56 # Fork: 1 of 3 # Warmup Iteration 1: 23854.743 ops/ms # Warmup Iteration 2: 21469.565 ops/ms # Warmup Iteration 3: 14989.182 ops/ms # Warmup Iteration 4: 13251.867 ops/ms # Warmup Iteration 5: 17508.451 ops/ms # Warmup Iteration 6: 13972.845 ops/ms # Warmup Iteration 7: 55973.514 ops/ms # Warmup Iteration 8: 52611.057 ops/ms # Warmup Iteration 9: 49850.100 ops/ms # Warmup Iteration 10: 19550.167 ops/ms Iteration 1: 27955.023 ops/ms offer: 9634.168 ops/ms poll: 16944.497 ops/ms put: 866.461 ops/ms take: 509.897 ops/ms Iteration 2: 24187.577 ops/ms offer: 8144.723 ops/ms poll: 14017.390 ops/ms put: 523.429 ops/ms take: 1502.034 ops/ms Iteration 3: 27526.250 ops/ms offer: 8655.830 ops/ms poll: 17870.268 ops/ms put: 548.252 ops/ms take: 451.900 ops/ms Iteration 4: 22954.380 ops/ms offer: 4251.682 ops/ms poll: 16673.408 ops/ms put: 253.288 ops/ms take: 1776.002 ops/ms Iteration 5: 20495.826 ops/ms offer: 6250.489 ops/ms poll: 13126.165 ops/ms put: 726.712 ops/ms take: 392.460 ops/ms Iteration 6: 52832.505 ops/ms offer: 11818.124 ops/ms poll: 38746.236 ops/ms put: 1637.834 ops/ms take: 630.310 ops/ms Iteration 7: 16574.097 ops/ms offer: 8580.705 ops/ms poll: 7631.897 ops/ms put: 189.330 ops/ms take: 172.165 ops/ms Iteration 8: 11990.724 ops/ms offer: 4638.002 ops/ms poll: 6822.351 ops/ms put: 261.132 ops/ms take: 269.240 ops/ms Iteration 9: 14347.700 ops/ms offer: 8154.262 ops/ms poll: 4907.413 ops/ms put: 1004.114 ops/ms take: 281.910 ops/ms Iteration 10: 7106.063 ops/ms offer: 4256.173 ops/ms poll: 2236.726 ops/ms put: 400.273 ops/ms take: 212.891 ops/ms # Run progress: 36.67% complete, ETA 00:09:41 # Fork: 2 of 3 # Warmup Iteration 1: 12288.773 ops/ms # Warmup Iteration 2: 10275.521 ops/ms # Warmup Iteration 3: 28862.873 ops/ms # Warmup Iteration 4: 13259.524 ops/ms # Warmup Iteration 5: 9786.550 ops/ms # Warmup Iteration 6: 21613.446 ops/ms # Warmup Iteration 7: 40525.020 ops/ms # Warmup Iteration 8: 9970.614 ops/ms # Warmup Iteration 9: 12008.023 ops/ms # Warmup Iteration 10: 14512.554 ops/ms Iteration 1: 71882.085 ops/ms offer: 13574.707 ops/ms poll: 39563.281 ops/ms put: 8715.192 ops/ms take: 10028.905 ops/ms Iteration 2: 66415.200 ops/ms offer: 16871.012 ops/ms poll: 46485.544 ops/ms put: 2251.085 ops/ms take: 807.558 ops/ms Iteration 3: 13109.207 ops/ms offer: 6722.963 ops/ms poll: 5625.014 ops/ms put: 604.491 ops/ms take: 156.740 ops/ms Iteration 4: 39252.778 ops/ms offer: 11529.562 ops/ms poll: 21111.295 ops/ms put: 5968.968 ops/ms take: 642.954 ops/ms Iteration 5: 26419.343 ops/ms offer: 6376.999 ops/ms poll: 18359.846 ops/ms put: 641.475 ops/ms take: 1041.024 ops/ms Iteration 6: 55795.314 ops/ms offer: 14329.572 ops/ms poll: 34611.615 ops/ms put: 5010.259 ops/ms take: 1843.868 ops/ms Iteration 7: 52243.301 ops/ms offer: 13439.895 ops/ms poll: 33243.589 ops/ms put: 1784.350 ops/ms take: 3775.467 ops/ms Iteration 8: 12082.197 ops/ms offer: 6471.424 ops/ms poll: 4554.662 ops/ms put: 608.989 ops/ms take: 447.122 ops/ms Iteration 9: 12765.882 ops/ms offer: 3722.475 ops/ms poll: 5202.037 ops/ms put: 1782.308 ops/ms take: 2059.061 ops/ms Iteration 10: 50924.310 ops/ms offer: 12962.411 ops/ms poll: 29873.308 ops/ms put: 7435.665 ops/ms take: 652.927 ops/ms # Run progress: 38.33% complete, ETA 00:09:26 # Fork: 3 of 3 # Warmup Iteration 1: 17769.001 ops/ms # Warmup Iteration 2: 18034.511 ops/ms # Warmup Iteration 3: 24281.190 ops/ms # Warmup Iteration 4: 21291.717 ops/ms # Warmup Iteration 5: 46348.584 ops/ms # Warmup Iteration 6: 9010.882 ops/ms # Warmup Iteration 7: 15102.630 ops/ms # Warmup Iteration 8: 11949.354 ops/ms # Warmup Iteration 9: 20729.362 ops/ms # Warmup Iteration 10: 56109.161 ops/ms Iteration 1: 14800.234 ops/ms offer: 6250.676 ops/ms poll: 7691.238 ops/ms put: 610.610 ops/ms take: 247.710 ops/ms Iteration 2: 21683.219 ops/ms offer: 8194.231 ops/ms poll: 13003.662 ops/ms put: 284.103 ops/ms take: 201.222 ops/ms Iteration 3: 23460.868 ops/ms offer: 18386.255 ops/ms poll: 3961.854 ops/ms put: 868.919 ops/ms take: 243.840 ops/ms Iteration 4: 20032.330 ops/ms offer: 11813.251 ops/ms poll: 6989.852 ops/ms put: 230.591 ops/ms take: 998.636 ops/ms Iteration 5: 66977.697 ops/ms offer: 23786.187 ops/ms poll: 28615.071 ops/ms put: 4390.389 ops/ms take: 10186.050 ops/ms Iteration 6: 12581.417 ops/ms offer: 5340.737 ops/ms poll: 6771.024 ops/ms put: 293.314 ops/ms take: 176.341 ops/ms Iteration 7: 15772.564 ops/ms offer: 6397.128 ops/ms poll: 4087.987 ops/ms put: 4857.713 ops/ms take: 429.736 ops/ms Iteration 8: 16035.486 ops/ms offer: 5737.251 ops/ms poll: 9759.089 ops/ms put: 342.211 ops/ms take: 196.935 ops/ms Iteration 9: 40041.893 ops/ms offer: 14108.981 ops/ms poll: 23557.006 ops/ms put: 1657.331 ops/ms take: 718.574 ops/ms Iteration 10: 10143.718 ops/ms offer: 6084.970 ops/ms poll: 3557.038 ops/ms put: 321.121 ops/ms take: 180.589 ops/ms Result "com.argosware.blog.lwl.LockingWithoutLock.queue": 28946.306 ±(99.9%) 12792.201 ops/ms [Average] (min, avg, max) = (7106.063, 28946.306, 71882.085), stdev = 19146.766 CI (99.9%): [16154.105, 41738.508] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:offer": 9549.495 ±(99.9%) 3188.114 ops/ms [Average] (min, avg, max) = (3722.475, 9549.495, 23786.187), stdev = 4771.819 CI (99.9%): [6361.381, 12737.609] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:poll": 16186.679 ±(99.9%) 8459.262 ops/ms [Average] (min, avg, max) = (2236.726, 16186.679, 46485.544), stdev = 12661.426 CI (99.9%): [7727.417, 24645.941] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:put": 1835.664 ±(99.9%) 1552.163 ops/ms [Average] (min, avg, max) = (189.330, 1835.664, 8715.192), stdev = 2323.204 CI (99.9%): [283.501, 3387.826] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:take": 1374.469 ±(99.9%) 1668.983 ops/ms [Average] (min, avg, max) = (156.740, 1374.469, 10186.050), stdev = 2498.056 CI (99.9%): [≈ 0, 3043.452] (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 = PADDED_SPSC, spinningCounterpart = false) # Run progress: 40.00% complete, ETA 00:09:11 # Fork: 1 of 3 # Warmup Iteration 1: 97568.042 ops/ms # Warmup Iteration 2: 81376.447 ops/ms # Warmup Iteration 3: 71044.215 ops/ms # Warmup Iteration 4: 186797.094 ops/ms # Warmup Iteration 5: 147323.526 ops/ms # Warmup Iteration 6: 106407.198 ops/ms # Warmup Iteration 7: 84665.721 ops/ms # Warmup Iteration 8: 164285.901 ops/ms # Warmup Iteration 9: 103880.237 ops/ms # Warmup Iteration 10: 191890.990 ops/ms Iteration 1: 195712.231 ops/ms offer: 112313.911 ops/ms poll: 83266.784 ops/ms put: 66.719 ops/ms take: 64.817 ops/ms Iteration 2: 155795.135 ops/ms offer: 121688.310 ops/ms poll: 33982.165 ops/ms put: 62.397 ops/ms take: 62.263 ops/ms Iteration 3: 121444.903 ops/ms offer: 14482.002 ops/ms poll: 106837.495 ops/ms put: 62.669 ops/ms take: 62.737 ops/ms Iteration 4: 120178.148 ops/ms offer: 41893.720 ops/ms poll: 78154.805 ops/ms put: 65.428 ops/ms take: 64.195 ops/ms Iteration 5: 177260.516 ops/ms offer: 90821.472 ops/ms poll: 86308.754 ops/ms put: 65.207 ops/ms take: 65.083 ops/ms Iteration 6: 176081.252 ops/ms offer: 87902.136 ops/ms poll: 88050.428 ops/ms put: 64.567 ops/ms take: 64.120 ops/ms Iteration 7: 112743.275 ops/ms offer: 39892.406 ops/ms poll: 72730.681 ops/ms put: 61.303 ops/ms take: 58.885 ops/ms Iteration 8: 149860.634 ops/ms offer: 54819.789 ops/ms poll: 94917.622 ops/ms put: 59.942 ops/ms take: 63.281 ops/ms Iteration 9: 80724.491 ops/ms offer: 66398.075 ops/ms poll: 14198.849 ops/ms put: 64.064 ops/ms take: 63.504 ops/ms Iteration 10: 124948.595 ops/ms offer: 67705.472 ops/ms poll: 57116.907 ops/ms put: 62.176 ops/ms take: 64.039 ops/ms # Run progress: 41.67% complete, ETA 00:08:55 # Fork: 2 of 3 # Warmup Iteration 1: 162867.687 ops/ms # Warmup Iteration 2: 131877.253 ops/ms # Warmup Iteration 3: 111485.661 ops/ms # Warmup Iteration 4: 129531.253 ops/ms # Warmup Iteration 5: 202650.960 ops/ms # Warmup Iteration 6: 177986.775 ops/ms # Warmup Iteration 7: 141959.448 ops/ms # Warmup Iteration 8: 64518.728 ops/ms # Warmup Iteration 9: 65559.561 ops/ms # Warmup Iteration 10: 175694.393 ops/ms Iteration 1: 170152.009 ops/ms offer: 85903.855 ops/ms poll: 84113.160 ops/ms put: 62.836 ops/ms take: 72.158 ops/ms Iteration 2: 82194.292 ops/ms offer: 67633.594 ops/ms poll: 14442.702 ops/ms put: 59.050 ops/ms take: 58.946 ops/ms Iteration 3: 193408.011 ops/ms offer: 107338.615 ops/ms poll: 85943.356 ops/ms put: 62.881 ops/ms take: 63.159 ops/ms Iteration 4: 156241.662 ops/ms offer: 88142.670 ops/ms poll: 67973.779 ops/ms put: 61.932 ops/ms take: 63.280 ops/ms Iteration 5: 152469.640 ops/ms offer: 76939.551 ops/ms poll: 75400.721 ops/ms put: 62.735 ops/ms take: 66.634 ops/ms Iteration 6: 121107.109 ops/ms offer: 85438.332 ops/ms poll: 35550.628 ops/ms put: 58.421 ops/ms take: 59.729 ops/ms Iteration 7: 117094.377 ops/ms offer: 82081.301 ops/ms poll: 34887.388 ops/ms put: 61.718 ops/ms take: 63.970 ops/ms Iteration 8: 176204.021 ops/ms offer: 88122.377 ops/ms poll: 87950.467 ops/ms put: 65.774 ops/ms take: 65.402 ops/ms Iteration 9: 183390.677 ops/ms offer: 97486.238 ops/ms poll: 85783.558 ops/ms put: 60.964 ops/ms take: 59.916 ops/ms Iteration 10: 140841.065 ops/ms offer: 54132.687 ops/ms poll: 86580.072 ops/ms put: 62.880 ops/ms take: 65.426 ops/ms # Run progress: 43.33% complete, ETA 00:08:40 # Fork: 3 of 3 # Warmup Iteration 1: 50834.579 ops/ms # Warmup Iteration 2: 108677.961 ops/ms # Warmup Iteration 3: 173923.940 ops/ms # Warmup Iteration 4: 182936.149 ops/ms # Warmup Iteration 5: 175093.461 ops/ms # Warmup Iteration 6: 168124.175 ops/ms # Warmup Iteration 7: 195092.208 ops/ms # Warmup Iteration 8: 153706.973 ops/ms # Warmup Iteration 9: 127498.589 ops/ms # Warmup Iteration 10: 111176.963 ops/ms Iteration 1: 221889.195 ops/ms offer: 99540.280 ops/ms poll: 122217.803 ops/ms put: 65.072 ops/ms take: 66.041 ops/ms Iteration 2: 123400.668 ops/ms offer: 78451.282 ops/ms poll: 44822.511 ops/ms put: 62.230 ops/ms take: 64.645 ops/ms Iteration 3: 200849.455 ops/ms offer: 88071.747 ops/ms poll: 112651.601 ops/ms put: 62.404 ops/ms take: 63.703 ops/ms Iteration 4: 174801.206 ops/ms offer: 85566.051 ops/ms poll: 89105.559 ops/ms put: 64.085 ops/ms take: 65.510 ops/ms Iteration 5: 67094.736 ops/ms offer: 47632.262 ops/ms poll: 19342.096 ops/ms put: 61.540 ops/ms take: 58.838 ops/ms Iteration 6: 89784.249 ops/ms offer: 70363.188 ops/ms poll: 19292.709 ops/ms put: 63.634 ops/ms take: 64.719 ops/ms Iteration 7: 144038.617 ops/ms offer: 54642.673 ops/ms poll: 89275.461 ops/ms put: 59.582 ops/ms take: 60.901 ops/ms Iteration 8: 119315.062 ops/ms offer: 18057.611 ops/ms poll: 101138.040 ops/ms put: 62.644 ops/ms take: 56.767 ops/ms Iteration 9: 139343.775 ops/ms offer: 52988.730 ops/ms poll: 86228.741 ops/ms put: 63.283 ops/ms take: 63.020 ops/ms Iteration 10: 104889.540 ops/ms offer: 61181.479 ops/ms poll: 43588.896 ops/ms put: 61.434 ops/ms take: 57.730 ops/ms Result "com.argosware.blog.lwl.LockingWithoutLock.queue": 143108.618 ±(99.9%) 26047.415 ops/ms [Average] (min, avg, max) = (67094.736, 143108.618, 221889.195), stdev = 38986.548 CI (99.9%): [117061.203, 169156.033] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:offer": 72921.061 ±(99.9%) 17124.605 ops/ms [Average] (min, avg, max) = (14482.002, 72921.061, 121688.310), stdev = 25631.304 CI (99.9%): [55796.456, 90045.666] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:poll": 70061.791 ±(99.9%) 20468.916 ops/ms [Average] (min, avg, max) = (14198.849, 70061.791, 122217.803), stdev = 30636.912 CI (99.9%): [49592.876, 90530.707] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:put": 62.652 ±(99.9%) 1.316 ops/ms [Average] (min, avg, max) = (58.421, 62.652, 66.719), stdev = 1.970 CI (99.9%): [61.336, 63.969] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:take": 63.114 ±(99.9%) 2.096 ops/ms [Average] (min, avg, max) = (56.767, 63.114, 72.158), stdev = 3.137 CI (99.9%): [61.018, 65.210] (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 = PADDED_SPSC, spinningCounterpart = true) # Run progress: 45.00% complete, ETA 00:08:25 # Fork: 1 of 3 # Warmup Iteration 1: 45565.264 ops/ms # Warmup Iteration 2: 35477.840 ops/ms # Warmup Iteration 3: 37222.900 ops/ms # Warmup Iteration 4: 28008.221 ops/ms # Warmup Iteration 5: 36110.820 ops/ms # Warmup Iteration 6: 44669.864 ops/ms # Warmup Iteration 7: 55185.937 ops/ms # Warmup Iteration 8: 36918.137 ops/ms # Warmup Iteration 9: 39246.646 ops/ms # Warmup Iteration 10: 32767.603 ops/ms Iteration 1: 61510.822 ops/ms offer: 35864.755 ops/ms poll: 19832.268 ops/ms put: 490.771 ops/ms take: 5323.028 ops/ms Iteration 2: 64441.893 ops/ms offer: 34678.265 ops/ms poll: 24425.513 ops/ms put: 4548.401 ops/ms take: 789.714 ops/ms Iteration 3: 35510.454 ops/ms offer: 9389.175 ops/ms poll: 25024.566 ops/ms put: 494.075 ops/ms take: 602.637 ops/ms Iteration 4: 30455.617 ops/ms offer: 9567.922 ops/ms poll: 19997.978 ops/ms put: 529.285 ops/ms take: 360.432 ops/ms Iteration 5: 27302.661 ops/ms offer: 9224.419 ops/ms poll: 16930.458 ops/ms put: 783.089 ops/ms take: 364.695 ops/ms Iteration 6: 57824.759 ops/ms offer: 16212.713 ops/ms poll: 34981.355 ops/ms put: 4839.571 ops/ms take: 1791.119 ops/ms Iteration 7: 59480.821 ops/ms offer: 15270.342 ops/ms poll: 30767.700 ops/ms put: 10661.049 ops/ms take: 2781.730 ops/ms Iteration 8: 54594.316 ops/ms offer: 32813.422 ops/ms poll: 18432.165 ops/ms put: 713.676 ops/ms take: 2635.053 ops/ms Iteration 9: 28956.954 ops/ms offer: 9281.279 ops/ms poll: 17617.599 ops/ms put: 1564.444 ops/ms take: 493.633 ops/ms Iteration 10: 27013.531 ops/ms offer: 8861.651 ops/ms poll: 16535.557 ops/ms put: 368.405 ops/ms take: 1247.917 ops/ms # Run progress: 46.67% complete, ETA 00:08:09 # Fork: 2 of 3 # Warmup Iteration 1: 35275.499 ops/ms # Warmup Iteration 2: 35057.195 ops/ms # Warmup Iteration 3: 34340.583 ops/ms # Warmup Iteration 4: 48605.836 ops/ms # Warmup Iteration 5: 43206.506 ops/ms # Warmup Iteration 6: 34993.437 ops/ms # Warmup Iteration 7: 55840.717 ops/ms # Warmup Iteration 8: 33847.577 ops/ms # Warmup Iteration 9: 26300.936 ops/ms # Warmup Iteration 10: 71852.172 ops/ms Iteration 1: 43945.534 ops/ms offer: 12491.174 ops/ms poll: 24129.926 ops/ms put: 6483.136 ops/ms take: 841.297 ops/ms Iteration 2: 66069.491 ops/ms offer: 32788.087 ops/ms poll: 21894.931 ops/ms put: 5909.483 ops/ms take: 5476.990 ops/ms Iteration 3: 33855.106 ops/ms offer: 8887.491 ops/ms poll: 20456.926 ops/ms put: 713.370 ops/ms take: 3797.320 ops/ms Iteration 4: 31736.524 ops/ms offer: 10401.710 ops/ms poll: 17752.314 ops/ms put: 1968.486 ops/ms take: 1614.014 ops/ms Iteration 5: 70994.652 ops/ms offer: 30863.247 ops/ms poll: 22613.736 ops/ms put: 13491.376 ops/ms take: 4026.292 ops/ms Iteration 6: 37279.268 ops/ms offer: 14949.080 ops/ms poll: 15634.378 ops/ms put: 6069.785 ops/ms take: 626.024 ops/ms Iteration 7: 45117.482 ops/ms offer: 13917.899 ops/ms poll: 17342.658 ops/ms put: 13294.648 ops/ms take: 562.277 ops/ms Iteration 8: 28317.075 ops/ms offer: 9562.252 ops/ms poll: 16896.874 ops/ms put: 546.751 ops/ms take: 1311.198 ops/ms Iteration 9: 32147.495 ops/ms offer: 10003.279 ops/ms poll: 16827.681 ops/ms put: 4834.935 ops/ms take: 481.601 ops/ms Iteration 10: 34908.683 ops/ms offer: 10102.148 ops/ms poll: 21485.207 ops/ms put: 741.523 ops/ms take: 2579.804 ops/ms # Run progress: 48.33% complete, ETA 00:07:54 # Fork: 3 of 3 # Warmup Iteration 1: 43217.573 ops/ms # Warmup Iteration 2: 55319.309 ops/ms # Warmup Iteration 3: 35989.738 ops/ms # Warmup Iteration 4: 30939.991 ops/ms # Warmup Iteration 5: 30066.535 ops/ms # Warmup Iteration 6: 34697.146 ops/ms # Warmup Iteration 7: 34434.673 ops/ms # Warmup Iteration 8: 43454.315 ops/ms # Warmup Iteration 9: 36003.358 ops/ms # Warmup Iteration 10: 29562.187 ops/ms Iteration 1: 47574.830 ops/ms offer: 18229.051 ops/ms poll: 25101.985 ops/ms put: 2602.117 ops/ms take: 1641.676 ops/ms Iteration 2: 44255.053 ops/ms offer: 16946.922 ops/ms poll: 16999.792 ops/ms put: 2261.191 ops/ms take: 8047.148 ops/ms Iteration 3: 39843.394 ops/ms offer: 14893.251 ops/ms poll: 23335.269 ops/ms put: 714.478 ops/ms take: 900.396 ops/ms Iteration 4: 34561.835 ops/ms offer: 10010.649 ops/ms poll: 18996.955 ops/ms put: 531.978 ops/ms take: 5022.253 ops/ms Iteration 5: 34138.726 ops/ms offer: 13668.389 ops/ms poll: 19149.627 ops/ms put: 776.059 ops/ms take: 544.651 ops/ms Iteration 6: 29835.622 ops/ms offer: 9944.579 ops/ms poll: 17492.054 ops/ms put: 650.167 ops/ms take: 1748.821 ops/ms Iteration 7: 36624.736 ops/ms offer: 13857.373 ops/ms poll: 14872.049 ops/ms put: 4576.797 ops/ms take: 3318.518 ops/ms Iteration 8: 50997.189 ops/ms offer: 31723.000 ops/ms poll: 18526.390 ops/ms put: 419.440 ops/ms take: 328.359 ops/ms Iteration 9: 48006.524 ops/ms offer: 14710.160 ops/ms poll: 21489.108 ops/ms put: 497.487 ops/ms take: 11309.769 ops/ms Iteration 10: 35717.067 ops/ms offer: 9990.412 ops/ms poll: 18341.815 ops/ms put: 4180.687 ops/ms take: 3204.152 ops/ms Result "com.argosware.blog.lwl.LockingWithoutLock.queue": 42433.937 ±(99.9%) 8624.809 ops/ms [Average] (min, avg, max) = (27013.531, 42433.937, 70994.652), stdev = 12909.209 CI (99.9%): [33809.128, 51058.746] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:offer": 16303.470 ±(99.9%) 6001.932 ops/ms [Average] (min, avg, max) = (8861.651, 16303.470, 35864.755), stdev = 8983.410 CI (99.9%): [10301.538, 22305.402] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:poll": 20462.828 ±(99.9%) 2979.492 ops/ms [Average] (min, avg, max) = (14872.049, 20462.828, 34981.355), stdev = 4459.564 CI (99.9%): [17483.336, 23442.320] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:put": 3208.555 ±(99.9%) 2503.277 ops/ms [Average] (min, avg, max) = (368.405, 3208.555, 13491.376), stdev = 3746.787 CI (99.9%): [705.279, 5711.832] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:take": 2459.084 ±(99.9%) 1697.730 ops/ms [Average] (min, avg, max) = (328.359, 2459.084, 11309.769), stdev = 2541.083 CI (99.9%): [761.354, 4156.814] (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, spinningCounterpart = false) # Run progress: 50.00% complete, ETA 00:07:39 # Fork: 1 of 3 # Warmup Iteration 1: 44433.011 ops/ms # Warmup Iteration 2: 36528.829 ops/ms # Warmup Iteration 3: 56510.646 ops/ms # Warmup Iteration 4: 47228.486 ops/ms # Warmup Iteration 5: 48525.445 ops/ms # Warmup Iteration 6: 46094.599 ops/ms # Warmup Iteration 7: 47675.789 ops/ms # Warmup Iteration 8: 45575.916 ops/ms # Warmup Iteration 9: 51171.414 ops/ms # Warmup Iteration 10: 48455.127 ops/ms Iteration 1: 74488.473 ops/ms offer: 22171.268 ops/ms poll: 19099.643 ops/ms put: 13719.178 ops/ms take: 19498.384 ops/ms Iteration 2: 51377.946 ops/ms offer: 11483.375 ops/ms poll: 15448.637 ops/ms put: 9657.057 ops/ms take: 14788.877 ops/ms Iteration 3: 63225.971 ops/ms offer: 16619.655 ops/ms poll: 21043.663 ops/ms put: 13074.592 ops/ms take: 12488.061 ops/ms Iteration 4: 50406.792 ops/ms offer: 14656.171 ops/ms poll: 12191.176 ops/ms put: 10028.895 ops/ms take: 13530.549 ops/ms Iteration 5: 58041.554 ops/ms offer: 14782.087 ops/ms poll: 14604.124 ops/ms put: 12137.870 ops/ms take: 16517.473 ops/ms Iteration 6: 46913.343 ops/ms offer: 14610.045 ops/ms poll: 15440.880 ops/ms put: 8643.082 ops/ms take: 8219.336 ops/ms Iteration 7: 60335.542 ops/ms offer: 16307.358 ops/ms poll: 20663.640 ops/ms put: 9180.142 ops/ms take: 14184.402 ops/ms Iteration 8: 51834.530 ops/ms offer: 12464.302 ops/ms poll: 17465.534 ops/ms put: 12066.680 ops/ms take: 9838.015 ops/ms Iteration 9: 52429.530 ops/ms offer: 9432.024 ops/ms poll: 16543.527 ops/ms put: 14215.986 ops/ms take: 12237.992 ops/ms Iteration 10: 30494.775 ops/ms offer: 10095.838 ops/ms poll: 6933.277 ops/ms put: 6121.277 ops/ms take: 7344.383 ops/ms # Run progress: 51.67% complete, ETA 00:07:23 # Fork: 2 of 3 # Warmup Iteration 1: 39460.582 ops/ms # Warmup Iteration 2: 39209.329 ops/ms # Warmup Iteration 3: 40591.267 ops/ms # Warmup Iteration 4: 44961.439 ops/ms # Warmup Iteration 5: 41939.757 ops/ms # Warmup Iteration 6: 40096.566 ops/ms # Warmup Iteration 7: 50029.822 ops/ms # Warmup Iteration 8: 48845.370 ops/ms # Warmup Iteration 9: 46805.142 ops/ms # Warmup Iteration 10: 44042.032 ops/ms Iteration 1: 60347.250 ops/ms offer: 21144.007 ops/ms poll: 16296.530 ops/ms put: 13686.779 ops/ms take: 9219.935 ops/ms Iteration 2: 50678.515 ops/ms offer: 13644.626 ops/ms poll: 12256.940 ops/ms put: 12014.236 ops/ms take: 12762.712 ops/ms Iteration 3: 49964.379 ops/ms offer: 14299.337 ops/ms poll: 12489.361 ops/ms put: 9991.802 ops/ms take: 13183.879 ops/ms Iteration 4: 47900.160 ops/ms offer: 11452.903 ops/ms poll: 14020.592 ops/ms put: 11583.774 ops/ms take: 10842.891 ops/ms Iteration 5: 42007.576 ops/ms offer: 12292.746 ops/ms poll: 10470.400 ops/ms put: 9665.368 ops/ms take: 9579.062 ops/ms Iteration 6: 46235.764 ops/ms offer: 16767.968 ops/ms poll: 9294.566 ops/ms put: 9059.290 ops/ms take: 11113.939 ops/ms Iteration 7: 49941.370 ops/ms offer: 12934.456 ops/ms poll: 15513.723 ops/ms put: 8897.606 ops/ms take: 12595.586 ops/ms Iteration 8: 56933.504 ops/ms offer: 13858.247 ops/ms poll: 17334.516 ops/ms put: 13468.433 ops/ms take: 12272.308 ops/ms Iteration 9: 44236.095 ops/ms offer: 8415.259 ops/ms poll: 14438.191 ops/ms put: 7848.168 ops/ms take: 13534.476 ops/ms Iteration 10: 40465.094 ops/ms offer: 13892.031 ops/ms poll: 10762.124 ops/ms put: 7615.897 ops/ms take: 8195.042 ops/ms # Run progress: 53.33% complete, ETA 00:07:08 # Fork: 3 of 3 # Warmup Iteration 1: 43389.858 ops/ms # Warmup Iteration 2: 36827.867 ops/ms # Warmup Iteration 3: 50831.246 ops/ms # Warmup Iteration 4: 55831.690 ops/ms # Warmup Iteration 5: 46987.367 ops/ms # Warmup Iteration 6: 46831.087 ops/ms # Warmup Iteration 7: 49857.563 ops/ms # Warmup Iteration 8: 43604.859 ops/ms # Warmup Iteration 9: 49280.259 ops/ms # Warmup Iteration 10: 44648.544 ops/ms Iteration 1: 61430.929 ops/ms offer: 15013.343 ops/ms poll: 15388.939 ops/ms put: 14943.836 ops/ms take: 16084.810 ops/ms Iteration 2: 63133.195 ops/ms offer: 14487.407 ops/ms poll: 14522.458 ops/ms put: 19072.761 ops/ms take: 15050.569 ops/ms Iteration 3: 51118.930 ops/ms offer: 8979.874 ops/ms poll: 13647.591 ops/ms put: 16036.489 ops/ms take: 12454.976 ops/ms Iteration 4: 38463.332 ops/ms offer: 8793.105 ops/ms poll: 10450.486 ops/ms put: 9556.555 ops/ms take: 9663.186 ops/ms Iteration 5: 51624.990 ops/ms offer: 18552.019 ops/ms poll: 10553.550 ops/ms put: 9968.070 ops/ms take: 12551.351 ops/ms Iteration 6: 46323.467 ops/ms offer: 9885.355 ops/ms poll: 11221.954 ops/ms put: 13270.842 ops/ms take: 11945.317 ops/ms Iteration 7: 45302.306 ops/ms offer: 9397.683 ops/ms poll: 15047.710 ops/ms put: 10338.007 ops/ms take: 10518.906 ops/ms Iteration 8: 50657.007 ops/ms offer: 9429.395 ops/ms poll: 17156.215 ops/ms put: 13330.089 ops/ms take: 10741.307 ops/ms Iteration 9: 42246.982 ops/ms offer: 8865.173 ops/ms poll: 8616.650 ops/ms put: 10114.797 ops/ms take: 14650.362 ops/ms Iteration 10: 46718.489 ops/ms offer: 9381.518 ops/ms poll: 17812.837 ops/ms put: 9756.519 ops/ms take: 9767.615 ops/ms Result "com.argosware.blog.lwl.LockingWithoutLock.queue": 50842.593 ±(99.9%) 5865.743 ops/ms [Average] (min, avg, max) = (30494.775, 50842.593, 74488.473), stdev = 8779.569 CI (99.9%): [44976.850, 56708.336] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:offer": 13136.953 ±(99.9%) 2432.748 ops/ms [Average] (min, avg, max) = (8415.259, 13136.953, 22171.268), stdev = 3641.222 CI (99.9%): [10704.205, 15569.700] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:poll": 14224.314 ±(99.9%) 2331.382 ops/ms [Average] (min, avg, max) = (6933.277, 14224.314, 21043.663), stdev = 3489.503 CI (99.9%): [11892.933, 16555.696] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:put": 11302.136 ±(99.9%) 1868.384 ops/ms [Average] (min, avg, max) = (6121.277, 11302.136, 19072.761), stdev = 2796.510 CI (99.9%): [9433.751, 13170.520] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:take": 12179.190 ±(99.9%) 1815.810 ops/ms [Average] (min, avg, max) = (7344.383, 12179.190, 19498.384), stdev = 2717.820 CI (99.9%): [10363.380, 13995.000] (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, spinningCounterpart = true) # Run progress: 55.00% complete, ETA 00:06:53 # Fork: 1 of 3 # Warmup Iteration 1: 32082.002 ops/ms # Warmup Iteration 2: 34350.910 ops/ms # Warmup Iteration 3: 44699.268 ops/ms # Warmup Iteration 4: 41941.848 ops/ms # Warmup Iteration 5: 38008.168 ops/ms # Warmup Iteration 6: 54123.032 ops/ms # Warmup Iteration 7: 40491.188 ops/ms # Warmup Iteration 8: 33144.424 ops/ms # Warmup Iteration 9: 48254.554 ops/ms # Warmup Iteration 10: 37785.372 ops/ms Iteration 1: 42333.568 ops/ms offer: 14099.693 ops/ms poll: 5643.819 ops/ms put: 11541.632 ops/ms take: 11048.424 ops/ms Iteration 2: 39934.706 ops/ms offer: 7580.099 ops/ms poll: 12609.685 ops/ms put: 8418.430 ops/ms take: 11326.492 ops/ms Iteration 3: 53805.141 ops/ms offer: 13961.112 ops/ms poll: 17222.343 ops/ms put: 9798.697 ops/ms take: 12822.989 ops/ms Iteration 4: 36804.997 ops/ms offer: 10478.078 ops/ms poll: 6500.590 ops/ms put: 8705.056 ops/ms take: 11121.273 ops/ms Iteration 5: 38101.261 ops/ms offer: 11536.801 ops/ms poll: 6167.170 ops/ms put: 12040.189 ops/ms take: 8357.102 ops/ms Iteration 6: 46675.298 ops/ms offer: 12188.826 ops/ms poll: 15144.301 ops/ms put: 9386.190 ops/ms take: 9955.980 ops/ms Iteration 7: 51681.284 ops/ms offer: 12728.628 ops/ms poll: 13605.246 ops/ms put: 12415.374 ops/ms take: 12932.036 ops/ms Iteration 8: 51168.513 ops/ms offer: 11907.777 ops/ms poll: 15695.520 ops/ms put: 9865.784 ops/ms take: 13699.432 ops/ms Iteration 9: 57497.527 ops/ms offer: 16518.528 ops/ms poll: 13342.189 ops/ms put: 13742.594 ops/ms take: 13894.216 ops/ms Iteration 10: 40064.957 ops/ms offer: 8515.781 ops/ms poll: 12363.689 ops/ms put: 8865.396 ops/ms take: 10320.090 ops/ms # Run progress: 56.67% complete, ETA 00:06:37 # Fork: 2 of 3 # Warmup Iteration 1: 31892.609 ops/ms # Warmup Iteration 2: 35902.680 ops/ms # Warmup Iteration 3: 43326.414 ops/ms # Warmup Iteration 4: 40316.149 ops/ms # Warmup Iteration 5: 41535.468 ops/ms # Warmup Iteration 6: 42577.641 ops/ms # Warmup Iteration 7: 55493.568 ops/ms # Warmup Iteration 8: 41184.112 ops/ms # Warmup Iteration 9: 51888.352 ops/ms # Warmup Iteration 10: 35130.924 ops/ms Iteration 1: 45993.373 ops/ms offer: 18312.458 ops/ms poll: 9679.153 ops/ms put: 11994.015 ops/ms take: 6007.747 ops/ms Iteration 2: 42398.897 ops/ms offer: 11862.670 ops/ms poll: 9910.584 ops/ms put: 13946.606 ops/ms take: 6679.037 ops/ms Iteration 3: 46132.031 ops/ms offer: 11210.885 ops/ms poll: 16178.041 ops/ms put: 10469.584 ops/ms take: 8273.521 ops/ms Iteration 4: 41645.763 ops/ms offer: 9314.590 ops/ms poll: 15868.866 ops/ms put: 9855.401 ops/ms take: 6606.905 ops/ms Iteration 5: 42664.273 ops/ms offer: 13228.773 ops/ms poll: 10405.447 ops/ms put: 8005.970 ops/ms take: 11024.083 ops/ms Iteration 6: 52398.110 ops/ms offer: 13679.790 ops/ms poll: 11520.676 ops/ms put: 13243.136 ops/ms take: 13954.508 ops/ms Iteration 7: 43324.397 ops/ms offer: 7537.381 ops/ms poll: 15029.772 ops/ms put: 11196.117 ops/ms take: 9561.127 ops/ms Iteration 8: 39471.502 ops/ms offer: 13846.405 ops/ms poll: 6389.955 ops/ms put: 6427.160 ops/ms take: 12807.982 ops/ms Iteration 9: 42716.346 ops/ms offer: 7392.660 ops/ms poll: 13201.064 ops/ms put: 6880.159 ops/ms take: 15242.463 ops/ms Iteration 10: 33610.920 ops/ms offer: 7491.191 ops/ms poll: 8026.150 ops/ms put: 7757.948 ops/ms take: 10335.632 ops/ms # Run progress: 58.33% complete, ETA 00:06:22 # Fork: 3 of 3 # Warmup Iteration 1: 31572.729 ops/ms # Warmup Iteration 2: 40213.990 ops/ms # Warmup Iteration 3: 51133.230 ops/ms # Warmup Iteration 4: 48249.423 ops/ms # Warmup Iteration 5: 48720.798 ops/ms # Warmup Iteration 6: 42790.496 ops/ms # Warmup Iteration 7: 45547.688 ops/ms # Warmup Iteration 8: 35716.017 ops/ms # Warmup Iteration 9: 51395.217 ops/ms # Warmup Iteration 10: 40778.038 ops/ms Iteration 1: 61148.314 ops/ms offer: 16317.756 ops/ms poll: 18781.818 ops/ms put: 9241.082 ops/ms take: 16807.659 ops/ms Iteration 2: 61055.710 ops/ms offer: 18863.202 ops/ms poll: 14303.439 ops/ms put: 15795.615 ops/ms take: 12093.455 ops/ms Iteration 3: 41740.487 ops/ms offer: 9513.271 ops/ms poll: 10794.042 ops/ms put: 10674.935 ops/ms take: 10758.239 ops/ms Iteration 4: 35283.088 ops/ms offer: 8514.598 ops/ms poll: 8884.694 ops/ms put: 7317.044 ops/ms take: 10566.753 ops/ms Iteration 5: 49333.169 ops/ms offer: 14773.098 ops/ms poll: 14494.475 ops/ms put: 10860.464 ops/ms take: 9205.132 ops/ms Iteration 6: 42593.599 ops/ms offer: 13422.844 ops/ms poll: 12154.872 ops/ms put: 6592.036 ops/ms take: 10423.846 ops/ms Iteration 7: 42149.144 ops/ms offer: 7904.151 ops/ms poll: 13210.756 ops/ms put: 12495.055 ops/ms take: 8539.182 ops/ms Iteration 8: 49175.278 ops/ms offer: 14093.168 ops/ms poll: 14642.553 ops/ms put: 11671.279 ops/ms take: 8768.277 ops/ms Iteration 9: 37906.890 ops/ms offer: 12107.958 ops/ms poll: 6091.198 ops/ms put: 8012.325 ops/ms take: 11695.409 ops/ms Iteration 10: 44347.514 ops/ms offer: 11213.238 ops/ms poll: 15704.464 ops/ms put: 10406.529 ops/ms take: 7023.284 ops/ms Result "com.argosware.blog.lwl.LockingWithoutLock.queue": 45105.202 ±(99.9%) 4747.005 ops/ms [Average] (min, avg, max) = (33610.920, 45105.202, 61148.314), stdev = 7105.094 CI (99.9%): [40358.197, 49852.207] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:offer": 12003.847 ±(99.9%) 2134.309 ops/ms [Average] (min, avg, max) = (7392.660, 12003.847, 18863.202), stdev = 3194.533 CI (99.9%): [9869.538, 14138.156] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:poll": 12118.886 ±(99.9%) 2445.589 ops/ms [Average] (min, avg, max) = (5643.819, 12118.886, 18781.818), stdev = 3660.443 CI (99.9%): [9673.296, 14564.475] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:put": 10254.060 ±(99.9%) 1573.706 ops/ms [Average] (min, avg, max) = (6427.160, 10254.060, 15795.615), stdev = 2355.449 CI (99.9%): [8680.354, 11827.766] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:take": 10728.409 ±(99.9%) 1746.023 ops/ms [Average] (min, avg, max) = (6007.747, 10728.409, 16807.659), stdev = 2613.366 CI (99.9%): [8982.386, 12474.432] (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, spinningCounterpart = false) # Run progress: 60.00% complete, ETA 00:06:07 # Fork: 1 of 3 # Warmup Iteration 1: 50652.207 ops/ms # Warmup Iteration 2: 73567.579 ops/ms # Warmup Iteration 3: 77677.499 ops/ms # Warmup Iteration 4: 55592.155 ops/ms # Warmup Iteration 5: 51632.320 ops/ms # Warmup Iteration 6: 57435.891 ops/ms # Warmup Iteration 7: 56492.940 ops/ms # Warmup Iteration 8: 57656.147 ops/ms # Warmup Iteration 9: 52572.938 ops/ms # Warmup Iteration 10: 13194.332 ops/ms Iteration 1: 17933.170 ops/ms offer: 4986.156 ops/ms poll: 5651.412 ops/ms put: 5880.084 ops/ms take: 1415.518 ops/ms Iteration 2: 73365.550 ops/ms offer: 9698.492 ops/ms poll: 31316.198 ops/ms put: 9597.581 ops/ms take: 22753.279 ops/ms Iteration 3: 48445.523 ops/ms offer: 11554.257 ops/ms poll: 17192.846 ops/ms put: 8435.512 ops/ms take: 11262.908 ops/ms Iteration 4: 54208.196 ops/ms offer: 13255.886 ops/ms poll: 17514.438 ops/ms put: 8855.556 ops/ms take: 14582.316 ops/ms Iteration 5: 54523.109 ops/ms offer: 12376.689 ops/ms poll: 19093.396 ops/ms put: 9018.023 ops/ms take: 14035.001 ops/ms Iteration 6: 52331.679 ops/ms offer: 12554.673 ops/ms poll: 17030.215 ops/ms put: 8291.112 ops/ms take: 14455.679 ops/ms Iteration 7: 53241.471 ops/ms offer: 13354.718 ops/ms poll: 19272.928 ops/ms put: 9651.330 ops/ms take: 10962.494 ops/ms Iteration 8: 52266.716 ops/ms offer: 12279.538 ops/ms poll: 17441.104 ops/ms put: 8351.236 ops/ms take: 14194.838 ops/ms Iteration 9: 58521.131 ops/ms offer: 12046.611 ops/ms poll: 20262.716 ops/ms put: 9526.836 ops/ms take: 16684.968 ops/ms Iteration 10: 61392.506 ops/ms offer: 12066.983 ops/ms poll: 19298.104 ops/ms put: 12811.641 ops/ms take: 17215.779 ops/ms # Run progress: 61.67% complete, ETA 00:05:52 # Fork: 2 of 3 # Warmup Iteration 1: 45873.237 ops/ms # Warmup Iteration 2: 62451.899 ops/ms # Warmup Iteration 3: 67099.678 ops/ms # Warmup Iteration 4: 57201.538 ops/ms # Warmup Iteration 5: 55700.661 ops/ms # Warmup Iteration 6: 62062.142 ops/ms # Warmup Iteration 7: 64841.084 ops/ms # Warmup Iteration 8: 58059.640 ops/ms # Warmup Iteration 9: 58597.824 ops/ms # Warmup Iteration 10: 57240.601 ops/ms Iteration 1: 34660.089 ops/ms offer: 3304.629 ops/ms poll: 22182.533 ops/ms put: 3204.407 ops/ms take: 5968.519 ops/ms Iteration 2: 58088.334 ops/ms offer: 8178.349 ops/ms poll: 19551.825 ops/ms put: 13059.969 ops/ms take: 17298.191 ops/ms Iteration 3: 55304.131 ops/ms offer: 9724.884 ops/ms poll: 19689.487 ops/ms put: 11380.308 ops/ms take: 14509.452 ops/ms Iteration 4: 41864.587 ops/ms offer: 13515.120 ops/ms poll: 4161.025 ops/ms put: 3939.276 ops/ms take: 20249.166 ops/ms Iteration 5: 24129.762 ops/ms offer: 5918.265 ops/ms poll: 7138.226 ops/ms put: 4954.677 ops/ms take: 6118.595 ops/ms Iteration 6: 67109.652 ops/ms offer: 18453.828 ops/ms poll: 20002.321 ops/ms put: 10436.479 ops/ms take: 18217.024 ops/ms Iteration 7: 57053.886 ops/ms offer: 12215.698 ops/ms poll: 11674.748 ops/ms put: 13246.059 ops/ms take: 19917.381 ops/ms Iteration 8: 59074.616 ops/ms offer: 12683.577 ops/ms poll: 20368.237 ops/ms put: 12397.021 ops/ms take: 13625.781 ops/ms Iteration 9: 74369.777 ops/ms offer: 13052.514 ops/ms poll: 16794.082 ops/ms put: 31858.495 ops/ms take: 12664.686 ops/ms Iteration 10: 53677.540 ops/ms offer: 12262.733 ops/ms poll: 18551.148 ops/ms put: 9583.973 ops/ms take: 13279.686 ops/ms # Run progress: 63.33% complete, ETA 00:05:36 # Fork: 3 of 3 # Warmup Iteration 1: 36918.733 ops/ms # Warmup Iteration 2: 38720.816 ops/ms # Warmup Iteration 3: 64544.866 ops/ms # Warmup Iteration 4: 55480.708 ops/ms # Warmup Iteration 5: 62952.473 ops/ms # Warmup Iteration 6: 75896.909 ops/ms # Warmup Iteration 7: 61631.063 ops/ms # Warmup Iteration 8: 60788.725 ops/ms # Warmup Iteration 9: 59917.565 ops/ms # Warmup Iteration 10: 54689.876 ops/ms Iteration 1: 63280.949 ops/ms offer: 12639.278 ops/ms poll: 18467.099 ops/ms put: 8851.361 ops/ms take: 23323.211 ops/ms Iteration 2: 75296.262 ops/ms offer: 12469.023 ops/ms poll: 16451.241 ops/ms put: 27627.948 ops/ms take: 18748.050 ops/ms Iteration 3: 53554.448 ops/ms offer: 13046.441 ops/ms poll: 12894.353 ops/ms put: 8881.375 ops/ms take: 18732.279 ops/ms Iteration 4: 58774.450 ops/ms offer: 9776.759 ops/ms poll: 19577.347 ops/ms put: 12315.031 ops/ms take: 17105.313 ops/ms Iteration 5: 59025.004 ops/ms offer: 9323.614 ops/ms poll: 19494.097 ops/ms put: 15944.782 ops/ms take: 14262.512 ops/ms Iteration 6: 53876.880 ops/ms offer: 8204.761 ops/ms poll: 20471.385 ops/ms put: 10189.962 ops/ms take: 15010.772 ops/ms Iteration 7: 56745.297 ops/ms offer: 12493.226 ops/ms poll: 13655.578 ops/ms put: 15379.585 ops/ms take: 15216.909 ops/ms Iteration 8: 56772.985 ops/ms offer: 10319.884 ops/ms poll: 21719.655 ops/ms put: 9740.903 ops/ms take: 14992.543 ops/ms Iteration 9: 51408.712 ops/ms offer: 7764.100 ops/ms poll: 17606.802 ops/ms put: 9696.298 ops/ms take: 16341.512 ops/ms Iteration 10: 58544.170 ops/ms offer: 12033.285 ops/ms poll: 18357.329 ops/ms put: 9768.737 ops/ms take: 18384.820 ops/ms Result "com.argosware.blog.lwl.LockingWithoutLock.queue": 54628.019 ±(99.9%) 8286.482 ops/ms [Average] (min, avg, max) = (17933.170, 54628.019, 75296.262), stdev = 12402.818 CI (99.9%): [46341.537, 62914.502] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:offer": 11051.799 ±(99.9%) 1996.350 ops/ms [Average] (min, avg, max) = (3304.629, 11051.799, 18453.828), stdev = 2988.043 CI (99.9%): [9055.449, 13048.149] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:poll": 17429.396 ±(99.9%) 3482.557 ops/ms [Average] (min, avg, max) = (4161.025, 17429.396, 31316.198), stdev = 5212.527 CI (99.9%): [13946.839, 20911.953] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:put": 11095.852 ±(99.9%) 3917.405 ops/ms [Average] (min, avg, max) = (3204.407, 11095.852, 31858.495), stdev = 5863.388 CI (99.9%): [7178.447, 15013.257] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:take": 15050.973 ±(99.9%) 3135.024 ops/ms [Average] (min, avg, max) = (1415.518, 15050.973, 23323.211), stdev = 4692.357 CI (99.9%): [11915.948, 18185.997] (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, spinningCounterpart = true) # Run progress: 65.00% complete, ETA 00:05:21 # Fork: 1 of 3 # Warmup Iteration 1: 53393.652 ops/ms # Warmup Iteration 2: 53559.738 ops/ms # Warmup Iteration 3: 58957.544 ops/ms # Warmup Iteration 4: 14287.302 ops/ms # Warmup Iteration 5: 48735.402 ops/ms # Warmup Iteration 6: 19655.656 ops/ms # Warmup Iteration 7: 61220.476 ops/ms # Warmup Iteration 8: 34986.933 ops/ms # Warmup Iteration 9: 57370.728 ops/ms # Warmup Iteration 10: 17434.280 ops/ms Iteration 1: 64212.130 ops/ms offer: 19811.412 ops/ms poll: 17542.098 ops/ms put: 8668.168 ops/ms take: 18190.452 ops/ms Iteration 2: 82745.930 ops/ms offer: 9954.942 ops/ms poll: 21080.862 ops/ms put: 29577.935 ops/ms take: 22132.191 ops/ms Iteration 3: 11857.356 ops/ms offer: 4973.345 ops/ms poll: 1596.782 ops/ms put: 2569.318 ops/ms take: 2717.910 ops/ms Iteration 4: 52521.017 ops/ms offer: 7622.175 ops/ms poll: 17332.574 ops/ms put: 13138.008 ops/ms take: 14428.261 ops/ms Iteration 5: 55283.062 ops/ms offer: 7808.200 ops/ms poll: 17743.750 ops/ms put: 12825.277 ops/ms take: 16905.835 ops/ms Iteration 6: 82927.449 ops/ms offer: 8261.241 ops/ms poll: 16432.245 ops/ms put: 27677.685 ops/ms take: 30556.277 ops/ms Iteration 7: 15368.470 ops/ms offer: 2898.260 ops/ms poll: 3006.772 ops/ms put: 1359.967 ops/ms take: 8103.471 ops/ms Iteration 8: 55792.033 ops/ms offer: 12230.992 ops/ms poll: 18038.900 ops/ms put: 8853.297 ops/ms take: 16668.844 ops/ms Iteration 9: 56206.270 ops/ms offer: 8700.715 ops/ms poll: 20147.411 ops/ms put: 8850.420 ops/ms take: 18507.724 ops/ms Iteration 10: 65099.874 ops/ms offer: 8014.656 ops/ms poll: 27458.681 ops/ms put: 12033.708 ops/ms take: 17592.829 ops/ms # Run progress: 66.67% complete, ETA 00:05:06 # Fork: 2 of 3 # Warmup Iteration 1: 50737.251 ops/ms # Warmup Iteration 2: 49045.934 ops/ms # Warmup Iteration 3: 72429.672 ops/ms # Warmup Iteration 4: 77465.510 ops/ms # Warmup Iteration 5: 13109.199 ops/ms # Warmup Iteration 6: 18907.171 ops/ms # Warmup Iteration 7: 59291.381 ops/ms # Warmup Iteration 8: 50800.221 ops/ms # Warmup Iteration 9: 53821.081 ops/ms # Warmup Iteration 10: 57501.653 ops/ms Iteration 1: 79898.281 ops/ms offer: 31466.874 ops/ms poll: 20775.638 ops/ms put: 8069.239 ops/ms take: 19586.530 ops/ms Iteration 2: 16228.337 ops/ms offer: 5282.602 ops/ms poll: 2027.097 ops/ms put: 3448.617 ops/ms take: 5470.021 ops/ms Iteration 3: 60180.932 ops/ms offer: 9649.814 ops/ms poll: 17407.040 ops/ms put: 12575.647 ops/ms take: 20548.431 ops/ms Iteration 4: 51754.636 ops/ms offer: 8534.988 ops/ms poll: 17873.705 ops/ms put: 8390.398 ops/ms take: 16955.545 ops/ms Iteration 5: 68582.993 ops/ms offer: 9757.084 ops/ms poll: 29188.509 ops/ms put: 13188.812 ops/ms take: 16448.588 ops/ms Iteration 6: 61824.842 ops/ms offer: 11575.432 ops/ms poll: 19377.440 ops/ms put: 13771.397 ops/ms take: 17100.573 ops/ms Iteration 7: 51472.018 ops/ms offer: 7568.830 ops/ms poll: 16835.984 ops/ms put: 7945.053 ops/ms take: 19122.151 ops/ms Iteration 8: 62974.980 ops/ms offer: 13869.917 ops/ms poll: 19343.184 ops/ms put: 12794.415 ops/ms take: 16967.464 ops/ms Iteration 9: 51414.469 ops/ms offer: 7300.228 ops/ms poll: 19046.679 ops/ms put: 9395.704 ops/ms take: 15671.859 ops/ms Iteration 10: 62576.609 ops/ms offer: 13287.316 ops/ms poll: 21709.890 ops/ms put: 11443.974 ops/ms take: 16135.429 ops/ms # Run progress: 68.33% complete, ETA 00:04:50 # Fork: 3 of 3 # Warmup Iteration 1: 52121.503 ops/ms # Warmup Iteration 2: 52404.252 ops/ms # Warmup Iteration 3: 49995.715 ops/ms # Warmup Iteration 4: 53610.972 ops/ms # Warmup Iteration 5: 21169.892 ops/ms # Warmup Iteration 6: 57574.540 ops/ms # Warmup Iteration 7: 79720.619 ops/ms # Warmup Iteration 8: 52792.123 ops/ms # Warmup Iteration 9: 54971.546 ops/ms # Warmup Iteration 10: 42501.039 ops/ms Iteration 1: 67338.644 ops/ms offer: 9599.675 ops/ms poll: 21890.193 ops/ms put: 13544.977 ops/ms take: 22303.800 ops/ms Iteration 2: 59308.251 ops/ms offer: 12535.177 ops/ms poll: 19561.746 ops/ms put: 12188.419 ops/ms take: 15022.909 ops/ms Iteration 3: 39855.147 ops/ms offer: 12240.613 ops/ms poll: 5844.098 ops/ms put: 4961.479 ops/ms take: 16808.957 ops/ms Iteration 4: 42035.940 ops/ms offer: 9491.078 ops/ms poll: 23346.073 ops/ms put: 3972.334 ops/ms take: 5226.454 ops/ms Iteration 5: 39804.144 ops/ms offer: 9816.554 ops/ms poll: 20773.161 ops/ms put: 4890.864 ops/ms take: 4323.565 ops/ms Iteration 6: 52671.347 ops/ms offer: 8963.244 ops/ms poll: 18759.182 ops/ms put: 8155.927 ops/ms take: 16792.994 ops/ms Iteration 7: 76228.585 ops/ms offer: 27840.709 ops/ms poll: 19399.937 ops/ms put: 13767.212 ops/ms take: 15220.727 ops/ms Iteration 8: 49203.318 ops/ms offer: 10325.473 ops/ms poll: 14961.998 ops/ms put: 7850.735 ops/ms take: 16065.112 ops/ms Iteration 9: 58775.473 ops/ms offer: 11965.010 ops/ms poll: 17363.745 ops/ms put: 12979.773 ops/ms take: 16466.945 ops/ms Iteration 10: 58830.577 ops/ms offer: 11296.308 ops/ms poll: 20203.550 ops/ms put: 11067.971 ops/ms take: 16262.748 ops/ms Result "com.argosware.blog.lwl.LockingWithoutLock.queue": 55099.104 ±(99.9%) 11790.976 ops/ms [Average] (min, avg, max) = (11857.356, 55099.104, 82927.449), stdev = 17648.179 CI (99.9%): [43308.128, 66890.080] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:offer": 11088.095 ±(99.9%) 3970.722 ops/ms [Average] (min, avg, max) = (2898.260, 11088.095, 31466.874), stdev = 5943.190 CI (99.9%): [7117.373, 15058.818] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:poll": 17535.631 ±(99.9%) 4335.341 ops/ms [Average] (min, avg, max) = (1596.782, 17535.631, 29188.509), stdev = 6488.935 CI (99.9%): [13200.290, 21870.972] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:put": 10665.224 ±(99.9%) 4060.028 ops/ms [Average] (min, avg, max) = (1359.967, 10665.224, 29577.935), stdev = 6076.859 CI (99.9%): [6605.196, 14725.252] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:take": 15810.153 ±(99.9%) 3838.796 ops/ms [Average] (min, avg, max) = (2717.910, 15810.153, 30556.277), stdev = 5745.730 CI (99.9%): [11971.357, 19648.950] (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 = PADDED_SPIN, spinningCounterpart = false) # Run progress: 70.00% complete, ETA 00:04:35 # Fork: 1 of 3 # Warmup Iteration 1: 63303.212 ops/ms # Warmup Iteration 2: 55768.917 ops/ms # Warmup Iteration 3: 64745.934 ops/ms # Warmup Iteration 4: 59755.511 ops/ms # Warmup Iteration 5: 61792.771 ops/ms # Warmup Iteration 6: 69533.766 ops/ms # Warmup Iteration 7: 52658.149 ops/ms # Warmup Iteration 8: 75913.334 ops/ms # Warmup Iteration 9: 67614.103 ops/ms # Warmup Iteration 10: 83632.923 ops/ms Iteration 1: 64956.134 ops/ms offer: 10568.823 ops/ms poll: 17767.589 ops/ms put: 11325.091 ops/ms take: 25294.630 ops/ms Iteration 2: 64520.321 ops/ms offer: 10403.628 ops/ms poll: 16422.155 ops/ms put: 11198.355 ops/ms take: 26496.183 ops/ms Iteration 3: 55271.866 ops/ms offer: 10285.054 ops/ms poll: 20219.560 ops/ms put: 10338.614 ops/ms take: 14428.638 ops/ms Iteration 4: 62537.192 ops/ms offer: 9272.774 ops/ms poll: 21007.558 ops/ms put: 11872.863 ops/ms take: 20383.997 ops/ms Iteration 5: 59066.635 ops/ms offer: 14021.992 ops/ms poll: 14714.176 ops/ms put: 14639.241 ops/ms take: 15691.225 ops/ms Iteration 6: 53620.428 ops/ms offer: 10655.575 ops/ms poll: 15008.101 ops/ms put: 15283.442 ops/ms take: 12673.309 ops/ms Iteration 7: 50943.687 ops/ms offer: 9001.964 ops/ms poll: 20105.534 ops/ms put: 8742.300 ops/ms take: 13093.889 ops/ms Iteration 8: 52772.701 ops/ms offer: 10050.737 ops/ms poll: 20120.930 ops/ms put: 8035.855 ops/ms take: 14565.179 ops/ms Iteration 9: 53373.533 ops/ms offer: 9703.268 ops/ms poll: 21149.341 ops/ms put: 9402.016 ops/ms take: 13118.908 ops/ms Iteration 10: 54928.296 ops/ms offer: 11802.670 ops/ms poll: 21657.321 ops/ms put: 8196.613 ops/ms take: 13271.692 ops/ms # Run progress: 71.67% complete, ETA 00:04:20 # Fork: 2 of 3 # Warmup Iteration 1: 60484.900 ops/ms # Warmup Iteration 2: 50227.655 ops/ms # Warmup Iteration 3: 54091.770 ops/ms # Warmup Iteration 4: 62013.375 ops/ms # Warmup Iteration 5: 50621.450 ops/ms # Warmup Iteration 6: 62081.897 ops/ms # Warmup Iteration 7: 58306.328 ops/ms # Warmup Iteration 8: 62771.666 ops/ms # Warmup Iteration 9: 58916.391 ops/ms # Warmup Iteration 10: 61958.785 ops/ms Iteration 1: 71917.948 ops/ms offer: 11561.981 ops/ms poll: 16426.997 ops/ms put: 16084.293 ops/ms take: 27844.677 ops/ms Iteration 2: 61667.146 ops/ms offer: 13438.101 ops/ms poll: 17615.498 ops/ms put: 8338.104 ops/ms take: 22275.444 ops/ms Iteration 3: 55938.508 ops/ms offer: 15115.529 ops/ms poll: 19687.575 ops/ms put: 7747.561 ops/ms take: 13387.843 ops/ms Iteration 4: 71673.225 ops/ms offer: 14437.762 ops/ms poll: 30714.707 ops/ms put: 13812.685 ops/ms take: 12708.072 ops/ms Iteration 5: 68340.011 ops/ms offer: 14370.512 ops/ms poll: 20352.886 ops/ms put: 14961.320 ops/ms take: 18655.292 ops/ms Iteration 6: 66363.874 ops/ms offer: 7539.500 ops/ms poll: 19849.551 ops/ms put: 7539.659 ops/ms take: 31435.163 ops/ms Iteration 7: 98005.139 ops/ms offer: 15570.604 ops/ms poll: 17239.631 ops/ms put: 33385.892 ops/ms take: 31809.013 ops/ms Iteration 8: 50707.519 ops/ms offer: 7907.998 ops/ms poll: 19027.330 ops/ms put: 7823.957 ops/ms take: 15948.235 ops/ms Iteration 9: 61538.038 ops/ms offer: 9981.282 ops/ms poll: 14846.636 ops/ms put: 16037.710 ops/ms take: 20672.411 ops/ms Iteration 10: 51908.145 ops/ms offer: 11046.524 ops/ms poll: 15708.135 ops/ms put: 7855.068 ops/ms take: 17298.418 ops/ms # Run progress: 73.33% complete, ETA 00:04:04 # Fork: 3 of 3 # Warmup Iteration 1: 48795.592 ops/ms # Warmup Iteration 2: 55238.381 ops/ms # Warmup Iteration 3: 78227.848 ops/ms # Warmup Iteration 4: 66656.139 ops/ms # Warmup Iteration 5: 79466.619 ops/ms # Warmup Iteration 6: 68511.880 ops/ms # Warmup Iteration 7: 62791.355 ops/ms # Warmup Iteration 8: 64103.410 ops/ms # Warmup Iteration 9: 70945.935 ops/ms # Warmup Iteration 10: 60262.630 ops/ms Iteration 1: 55309.296 ops/ms offer: 9943.631 ops/ms poll: 16666.616 ops/ms put: 9276.569 ops/ms take: 19422.481 ops/ms Iteration 2: 53891.621 ops/ms offer: 9480.700 ops/ms poll: 17260.122 ops/ms put: 8621.628 ops/ms take: 18529.171 ops/ms Iteration 3: 98040.470 ops/ms offer: 29430.502 ops/ms poll: 20694.425 ops/ms put: 29063.757 ops/ms take: 18851.787 ops/ms Iteration 4: 64208.011 ops/ms offer: 7940.122 ops/ms poll: 23515.447 ops/ms put: 13033.052 ops/ms take: 19719.390 ops/ms Iteration 5: 54317.686 ops/ms offer: 12907.807 ops/ms poll: 14716.584 ops/ms put: 9208.406 ops/ms take: 17484.889 ops/ms Iteration 6: 66024.749 ops/ms offer: 13178.795 ops/ms poll: 21097.193 ops/ms put: 14713.448 ops/ms take: 17035.314 ops/ms Iteration 7: 66558.039 ops/ms offer: 14136.740 ops/ms poll: 20436.388 ops/ms put: 9013.432 ops/ms take: 22971.479 ops/ms Iteration 8: 64525.017 ops/ms offer: 13017.561 ops/ms poll: 20216.909 ops/ms put: 14143.838 ops/ms take: 17146.708 ops/ms Iteration 9: 54127.288 ops/ms offer: 9756.779 ops/ms poll: 19184.027 ops/ms put: 8439.687 ops/ms take: 16746.796 ops/ms Iteration 10: 84303.946 ops/ms offer: 32272.478 ops/ms poll: 21912.280 ops/ms put: 15141.542 ops/ms take: 14977.646 ops/ms Result "com.argosware.blog.lwl.LockingWithoutLock.queue": 63045.216 ±(99.9%) 8162.524 ops/ms [Average] (min, avg, max) = (50707.519, 63045.216, 98040.470), stdev = 12217.283 CI (99.9%): [54882.691, 71207.740] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:offer": 12626.713 ±(99.9%) 3637.876 ops/ms [Average] (min, avg, max) = (7539.500, 12626.713, 32272.478), stdev = 5445.002 CI (99.9%): [8988.837, 16264.589] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:poll": 19178.040 ±(99.9%) 2176.329 ops/ms [Average] (min, avg, max) = (14714.176, 19178.040, 30714.707), stdev = 3257.428 CI (99.9%): [17001.711, 21354.369] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:put": 12442.533 ±(99.9%) 3950.618 ops/ms [Average] (min, avg, max) = (7539.659, 12442.533, 33385.892), stdev = 5913.100 CI (99.9%): [8491.915, 16393.151] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:take": 18797.929 ±(99.9%) 3578.073 ops/ms [Average] (min, avg, max) = (12673.309, 18797.929, 31809.013), stdev = 5355.491 CI (99.9%): [15219.856, 22376.002] (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 = PADDED_SPIN, spinningCounterpart = true) # Run progress: 75.00% complete, ETA 00:03:49 # Fork: 1 of 3 # Warmup Iteration 1: 63856.790 ops/ms # Warmup Iteration 2: 57389.440 ops/ms # Warmup Iteration 3: 60400.608 ops/ms # Warmup Iteration 4: 63483.506 ops/ms # Warmup Iteration 5: 73601.956 ops/ms # Warmup Iteration 6: 54548.957 ops/ms # Warmup Iteration 7: 71008.851 ops/ms # Warmup Iteration 8: 54810.428 ops/ms # Warmup Iteration 9: 57181.032 ops/ms # Warmup Iteration 10: 73090.602 ops/ms Iteration 1: 65102.970 ops/ms offer: 15628.013 ops/ms poll: 16546.841 ops/ms put: 9020.181 ops/ms take: 23907.936 ops/ms Iteration 2: 66012.528 ops/ms offer: 8181.312 ops/ms poll: 27807.342 ops/ms put: 10548.429 ops/ms take: 19475.445 ops/ms Iteration 3: 59415.199 ops/ms offer: 11306.046 ops/ms poll: 16171.317 ops/ms put: 12573.340 ops/ms take: 19364.496 ops/ms Iteration 4: 70025.329 ops/ms offer: 12663.429 ops/ms poll: 16238.855 ops/ms put: 8420.689 ops/ms take: 32702.356 ops/ms Iteration 5: 68399.433 ops/ms offer: 8487.238 ops/ms poll: 32696.071 ops/ms put: 14435.339 ops/ms take: 12780.785 ops/ms Iteration 6: 67325.723 ops/ms offer: 13676.168 ops/ms poll: 21337.366 ops/ms put: 10340.568 ops/ms take: 21971.621 ops/ms Iteration 7: 50040.489 ops/ms offer: 10783.665 ops/ms poll: 17732.108 ops/ms put: 9155.616 ops/ms take: 12369.100 ops/ms Iteration 8: 58617.969 ops/ms offer: 11196.619 ops/ms poll: 19567.318 ops/ms put: 9339.784 ops/ms take: 18514.249 ops/ms Iteration 9: 57844.946 ops/ms offer: 7722.602 ops/ms poll: 18965.938 ops/ms put: 13997.944 ops/ms take: 17158.463 ops/ms Iteration 10: 54766.906 ops/ms offer: 8960.233 ops/ms poll: 15508.090 ops/ms put: 12971.374 ops/ms take: 17327.209 ops/ms # Run progress: 76.67% complete, ETA 00:03:34 # Fork: 2 of 3 # Warmup Iteration 1: 59418.016 ops/ms # Warmup Iteration 2: 67986.699 ops/ms # Warmup Iteration 3: 48406.513 ops/ms # Warmup Iteration 4: 50587.757 ops/ms # Warmup Iteration 5: 69473.668 ops/ms # Warmup Iteration 6: 61793.913 ops/ms # Warmup Iteration 7: 57998.200 ops/ms # Warmup Iteration 8: 56038.188 ops/ms # Warmup Iteration 9: 58596.385 ops/ms # Warmup Iteration 10: 94028.770 ops/ms Iteration 1: 61942.103 ops/ms offer: 7333.754 ops/ms poll: 21562.261 ops/ms put: 16468.430 ops/ms take: 16577.658 ops/ms Iteration 2: 51784.763 ops/ms offer: 7889.650 ops/ms poll: 18983.294 ops/ms put: 7976.219 ops/ms take: 16935.600 ops/ms Iteration 3: 73946.426 ops/ms offer: 13720.196 ops/ms poll: 31781.750 ops/ms put: 13808.604 ops/ms take: 14635.875 ops/ms Iteration 4: 57174.269 ops/ms offer: 9176.835 ops/ms poll: 20871.312 ops/ms put: 12805.352 ops/ms take: 14320.770 ops/ms Iteration 5: 68212.662 ops/ms offer: 12986.030 ops/ms poll: 19115.613 ops/ms put: 12679.875 ops/ms take: 23431.144 ops/ms Iteration 6: 74429.691 ops/ms offer: 12044.819 ops/ms poll: 18822.193 ops/ms put: 26844.498 ops/ms take: 16718.181 ops/ms Iteration 7: 65383.989 ops/ms offer: 13211.643 ops/ms poll: 23062.479 ops/ms put: 13804.898 ops/ms take: 15304.970 ops/ms Iteration 8: 60279.006 ops/ms offer: 9111.279 ops/ms poll: 20617.610 ops/ms put: 15520.952 ops/ms take: 15029.164 ops/ms Iteration 9: 70770.656 ops/ms offer: 8307.454 ops/ms poll: 34139.595 ops/ms put: 14653.401 ops/ms take: 13670.205 ops/ms Iteration 10: 61302.309 ops/ms offer: 13099.736 ops/ms poll: 19352.783 ops/ms put: 14459.109 ops/ms take: 14390.681 ops/ms # Run progress: 78.33% complete, ETA 00:03:18 # Fork: 3 of 3 # Warmup Iteration 1: 50144.718 ops/ms # Warmup Iteration 2: 69201.042 ops/ms # Warmup Iteration 3: 76155.433 ops/ms # Warmup Iteration 4: 55504.946 ops/ms # Warmup Iteration 5: 74321.926 ops/ms # Warmup Iteration 6: 71586.707 ops/ms # Warmup Iteration 7: 80543.181 ops/ms # Warmup Iteration 8: 83376.097 ops/ms # Warmup Iteration 9: 74202.098 ops/ms # Warmup Iteration 10: 66966.477 ops/ms Iteration 1: 64039.295 ops/ms offer: 13172.975 ops/ms poll: 16767.656 ops/ms put: 17044.059 ops/ms take: 17054.605 ops/ms Iteration 2: 81118.721 ops/ms offer: 9282.558 ops/ms poll: 18084.585 ops/ms put: 17279.690 ops/ms take: 36471.888 ops/ms Iteration 3: 57977.432 ops/ms offer: 13645.381 ops/ms poll: 19216.868 ops/ms put: 9264.953 ops/ms take: 15850.230 ops/ms Iteration 4: 66938.954 ops/ms offer: 7811.104 ops/ms poll: 14771.050 ops/ms put: 10708.639 ops/ms take: 33648.163 ops/ms Iteration 5: 66004.174 ops/ms offer: 9804.241 ops/ms poll: 15369.445 ops/ms put: 26765.411 ops/ms take: 14065.076 ops/ms Iteration 6: 58231.482 ops/ms offer: 8874.665 ops/ms poll: 17786.808 ops/ms put: 11508.820 ops/ms take: 20061.189 ops/ms Iteration 7: 74997.003 ops/ms offer: 12158.335 ops/ms poll: 20763.505 ops/ms put: 8906.354 ops/ms take: 33168.810 ops/ms Iteration 8: 65766.820 ops/ms offer: 7174.752 ops/ms poll: 16853.095 ops/ms put: 9696.932 ops/ms take: 32042.041 ops/ms Iteration 9: 71986.134 ops/ms offer: 7827.943 ops/ms poll: 20130.861 ops/ms put: 9945.768 ops/ms take: 34081.562 ops/ms Iteration 10: 57042.622 ops/ms offer: 12274.538 ops/ms poll: 18012.239 ops/ms put: 14322.678 ops/ms take: 12433.166 ops/ms Result "com.argosware.blog.lwl.LockingWithoutLock.queue": 64229.333 ±(99.9%) 4875.418 ops/ms [Average] (min, avg, max) = (50040.489, 64229.333, 81118.721), stdev = 7297.296 CI (99.9%): [59353.916, 69104.751] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:offer": 10583.774 ±(99.9%) 1631.489 ops/ms [Average] (min, avg, max) = (7174.752, 10583.774, 15628.013), stdev = 2441.936 CI (99.9%): [8952.285, 12215.263] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:poll": 20287.875 ±(99.9%) 3345.031 ops/ms [Average] (min, avg, max) = (14771.050, 20287.875, 34139.595), stdev = 5006.685 CI (99.9%): [16942.844, 23632.906] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:put": 13175.597 ±(99.9%) 3054.903 ops/ms [Average] (min, avg, max) = (7976.219, 13175.597, 26844.498), stdev = 4572.436 CI (99.9%): [10120.693, 16230.500] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:take": 20182.088 ±(99.9%) 4999.110 ops/ms [Average] (min, avg, max) = (12369.100, 20182.088, 36471.888), stdev = 7482.434 CI (99.9%): [15182.977, 25181.198] (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 = SPSC, spinningCounterpart = false) # Run progress: 80.00% complete, ETA 00:03:03 # Fork: 1 of 3 # Warmup Iteration 1: 54928.578 ops/ms # Warmup Iteration 2: 57249.559 ops/ms # Warmup Iteration 3: 57721.253 ops/ms # Warmup Iteration 4: 57154.501 ops/ms # Warmup Iteration 5: 56408.325 ops/ms # Warmup Iteration 6: 62007.465 ops/ms # Warmup Iteration 7: 58293.904 ops/ms # Warmup Iteration 8: 24371.417 ops/ms # Warmup Iteration 9: 26145.157 ops/ms # Warmup Iteration 10: 54429.282 ops/ms Iteration 1: 60327.602 ops/ms offer: 11057.581 ops/ms poll: 20005.680 ops/ms put: 13952.208 ops/ms take: 15312.132 ops/ms Iteration 2: 61797.482 ops/ms offer: 16683.521 ops/ms poll: 17565.684 ops/ms put: 15529.653 ops/ms take: 12018.624 ops/ms Iteration 3: 55671.712 ops/ms offer: 16047.494 ops/ms poll: 14158.382 ops/ms put: 13864.553 ops/ms take: 11601.284 ops/ms Iteration 4: 49435.632 ops/ms offer: 11219.876 ops/ms poll: 16276.919 ops/ms put: 11736.065 ops/ms take: 10202.772 ops/ms Iteration 5: 51616.107 ops/ms offer: 11193.466 ops/ms poll: 14776.015 ops/ms put: 11580.984 ops/ms take: 14065.642 ops/ms Iteration 6: 60518.835 ops/ms offer: 21944.364 ops/ms poll: 12417.521 ops/ms put: 14568.107 ops/ms take: 11588.844 ops/ms Iteration 7: 26653.821 ops/ms offer: 15380.733 ops/ms poll: 4297.845 ops/ms put: 1632.530 ops/ms take: 5342.712 ops/ms Iteration 8: 27747.232 ops/ms offer: 6698.443 ops/ms poll: 1584.665 ops/ms put: 4671.277 ops/ms take: 14792.846 ops/ms Iteration 9: 57587.786 ops/ms offer: 14849.525 ops/ms poll: 16845.004 ops/ms put: 13145.520 ops/ms take: 12747.737 ops/ms Iteration 10: 56467.910 ops/ms offer: 10379.599 ops/ms poll: 18131.213 ops/ms put: 13351.138 ops/ms take: 14605.960 ops/ms # Run progress: 81.67% complete, ETA 00:02:48 # Fork: 2 of 3 # Warmup Iteration 1: 56146.440 ops/ms # Warmup Iteration 2: 58595.439 ops/ms # Warmup Iteration 3: 62550.838 ops/ms # Warmup Iteration 4: 54650.510 ops/ms # Warmup Iteration 5: 60443.533 ops/ms # Warmup Iteration 6: 67080.633 ops/ms # Warmup Iteration 7: 57292.080 ops/ms # Warmup Iteration 8: 49224.960 ops/ms # Warmup Iteration 9: 60808.669 ops/ms # Warmup Iteration 10: 70696.157 ops/ms Iteration 1: 66305.158 ops/ms offer: 20593.533 ops/ms poll: 12990.805 ops/ms put: 11658.923 ops/ms take: 21061.897 ops/ms Iteration 2: 73504.856 ops/ms offer: 15161.979 ops/ms poll: 25339.524 ops/ms put: 14534.412 ops/ms take: 18468.941 ops/ms Iteration 3: 62082.308 ops/ms offer: 14268.342 ops/ms poll: 24749.928 ops/ms put: 12374.075 ops/ms take: 10689.963 ops/ms Iteration 4: 65620.778 ops/ms offer: 10728.575 ops/ms poll: 27029.982 ops/ms put: 16103.293 ops/ms take: 11758.929 ops/ms Iteration 5: 29264.930 ops/ms offer: 17085.175 ops/ms poll: 1865.928 ops/ms put: 3786.677 ops/ms take: 6527.150 ops/ms Iteration 6: 20488.195 ops/ms offer: 3244.927 ops/ms poll: 6401.481 ops/ms put: 5331.152 ops/ms take: 5510.635 ops/ms Iteration 7: 29611.039 ops/ms offer: 4571.963 ops/ms poll: 6233.321 ops/ms put: 1974.529 ops/ms take: 16831.226 ops/ms Iteration 8: 48937.293 ops/ms offer: 8614.876 ops/ms poll: 13349.502 ops/ms put: 11460.637 ops/ms take: 15512.278 ops/ms Iteration 9: 65064.032 ops/ms offer: 12909.125 ops/ms poll: 24647.132 ops/ms put: 12841.494 ops/ms take: 14666.280 ops/ms Iteration 10: 70239.858 ops/ms offer: 9031.614 ops/ms poll: 24056.433 ops/ms put: 23038.953 ops/ms take: 14112.859 ops/ms # Run progress: 83.33% complete, ETA 00:02:33 # Fork: 3 of 3 # Warmup Iteration 1: 51442.553 ops/ms # Warmup Iteration 2: 46248.874 ops/ms # Warmup Iteration 3: 73077.847 ops/ms # Warmup Iteration 4: 53186.136 ops/ms # Warmup Iteration 5: 65050.035 ops/ms # Warmup Iteration 6: 60545.923 ops/ms # Warmup Iteration 7: 51211.979 ops/ms # Warmup Iteration 8: 59928.212 ops/ms # Warmup Iteration 9: 52978.278 ops/ms # Warmup Iteration 10: 47285.543 ops/ms Iteration 1: 65830.745 ops/ms offer: 15259.617 ops/ms poll: 24326.753 ops/ms put: 12293.934 ops/ms take: 13950.440 ops/ms Iteration 2: 29046.705 ops/ms offer: 4368.701 ops/ms poll: 3342.667 ops/ms put: 7809.699 ops/ms take: 13525.638 ops/ms Iteration 3: 51775.157 ops/ms offer: 15789.643 ops/ms poll: 11589.332 ops/ms put: 11955.210 ops/ms take: 12440.973 ops/ms Iteration 4: 22766.910 ops/ms offer: 4146.184 ops/ms poll: 1962.499 ops/ms put: 11005.369 ops/ms take: 5652.859 ops/ms Iteration 5: 65070.871 ops/ms offer: 17580.339 ops/ms poll: 16787.005 ops/ms put: 14691.690 ops/ms take: 16011.837 ops/ms Iteration 6: 53694.293 ops/ms offer: 11392.930 ops/ms poll: 16549.835 ops/ms put: 10136.104 ops/ms take: 15615.423 ops/ms Iteration 7: 25107.920 ops/ms offer: 3936.724 ops/ms poll: 1594.331 ops/ms put: 5480.248 ops/ms take: 14096.617 ops/ms Iteration 8: 62676.138 ops/ms offer: 23387.742 ops/ms poll: 13185.635 ops/ms put: 9968.227 ops/ms take: 16134.534 ops/ms Iteration 9: 60647.738 ops/ms offer: 11692.671 ops/ms poll: 16986.180 ops/ms put: 10937.189 ops/ms take: 21031.698 ops/ms Iteration 10: 22779.685 ops/ms offer: 11041.177 ops/ms poll: 4830.474 ops/ms put: 3893.426 ops/ms take: 3014.607 ops/ms Result "com.argosware.blog.lwl.LockingWithoutLock.queue": 49944.624 ±(99.9%) 11373.228 ops/ms [Average] (min, avg, max) = (20488.195, 49944.624, 73504.856), stdev = 17022.914 CI (99.9%): [38571.396, 61317.852] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:offer": 12342.015 ±(99.9%) 3569.215 ops/ms [Average] (min, avg, max) = (3244.927, 12342.015, 23387.742), stdev = 5342.233 CI (99.9%): [8772.800, 15911.230] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:poll": 13795.922 ±(99.9%) 5346.633 ops/ms [Average] (min, avg, max) = (1584.665, 13795.922, 27029.982), stdev = 8002.589 CI (99.9%): [8449.290, 19142.555] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:put": 10843.576 ±(99.9%) 3169.023 ops/ms [Average] (min, avg, max) = (1632.530, 10843.576, 23038.953), stdev = 4743.245 CI (99.9%): [7674.553, 14012.599] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:take": 12963.111 ±(99.9%) 2922.969 ops/ms [Average] (min, avg, max) = (3014.607, 12963.111, 21061.897), stdev = 4374.963 CI (99.9%): [10040.142, 15886.080] (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 = SPSC, spinningCounterpart = true) # Run progress: 85.00% complete, ETA 00:02:17 # Fork: 1 of 3 # Warmup Iteration 1: 38576.718 ops/ms # Warmup Iteration 2: 23191.441 ops/ms # Warmup Iteration 3: 16925.224 ops/ms # Warmup Iteration 4: 33010.762 ops/ms # Warmup Iteration 5: 15614.127 ops/ms # Warmup Iteration 6: 37100.358 ops/ms # Warmup Iteration 7: 38335.916 ops/ms # Warmup Iteration 8: 13887.293 ops/ms # Warmup Iteration 9: 35734.224 ops/ms # Warmup Iteration 10: 38818.449 ops/ms Iteration 1: 40200.370 ops/ms offer: 7072.421 ops/ms poll: 13074.119 ops/ms put: 9235.000 ops/ms take: 10818.829 ops/ms Iteration 2: 37993.658 ops/ms offer: 6848.486 ops/ms poll: 10196.849 ops/ms put: 7924.481 ops/ms take: 13023.841 ops/ms Iteration 3: 42023.010 ops/ms offer: 8814.631 ops/ms poll: 10295.344 ops/ms put: 10002.504 ops/ms take: 12910.532 ops/ms Iteration 4: 15324.320 ops/ms offer: 4895.042 ops/ms poll: 3974.794 ops/ms put: 2074.391 ops/ms take: 4380.092 ops/ms Iteration 5: 46842.635 ops/ms offer: 9806.320 ops/ms poll: 14984.206 ops/ms put: 8956.232 ops/ms take: 13095.878 ops/ms Iteration 6: 36665.986 ops/ms offer: 8073.601 ops/ms poll: 11217.020 ops/ms put: 7651.029 ops/ms take: 9724.337 ops/ms Iteration 7: 42746.787 ops/ms offer: 9252.477 ops/ms poll: 13355.812 ops/ms put: 7267.306 ops/ms take: 12871.192 ops/ms Iteration 8: 45167.645 ops/ms offer: 8985.637 ops/ms poll: 12371.051 ops/ms put: 9596.934 ops/ms take: 14214.023 ops/ms Iteration 9: 39797.856 ops/ms offer: 8652.879 ops/ms poll: 8956.860 ops/ms put: 8744.804 ops/ms take: 13443.314 ops/ms Iteration 10: 39442.877 ops/ms offer: 7858.164 ops/ms poll: 9899.663 ops/ms put: 8474.986 ops/ms take: 13210.064 ops/ms # Run progress: 86.67% complete, ETA 00:02:02 # Fork: 2 of 3 # Warmup Iteration 1: 54117.167 ops/ms # Warmup Iteration 2: 47208.232 ops/ms # Warmup Iteration 3: 51415.849 ops/ms # Warmup Iteration 4: 66323.893 ops/ms # Warmup Iteration 5: 52863.940 ops/ms # Warmup Iteration 6: 54375.204 ops/ms # Warmup Iteration 7: 55306.546 ops/ms # Warmup Iteration 8: 15448.441 ops/ms # Warmup Iteration 9: 18313.446 ops/ms # Warmup Iteration 10: 31646.861 ops/ms Iteration 1: 51512.299 ops/ms offer: 9740.849 ops/ms poll: 15773.861 ops/ms put: 10171.434 ops/ms take: 15826.155 ops/ms Iteration 2: 45169.994 ops/ms offer: 9285.977 ops/ms poll: 10958.766 ops/ms put: 7516.562 ops/ms take: 17408.689 ops/ms Iteration 3: 45997.357 ops/ms offer: 6611.322 ops/ms poll: 18276.179 ops/ms put: 8623.245 ops/ms take: 12486.610 ops/ms Iteration 4: 52959.896 ops/ms offer: 7812.223 ops/ms poll: 13972.939 ops/ms put: 9134.850 ops/ms take: 22039.883 ops/ms Iteration 5: 69521.873 ops/ms offer: 20876.799 ops/ms poll: 25245.585 ops/ms put: 9467.666 ops/ms take: 13931.822 ops/ms Iteration 6: 61252.019 ops/ms offer: 8620.361 ops/ms poll: 17876.057 ops/ms put: 9782.254 ops/ms take: 24973.346 ops/ms Iteration 7: 54818.033 ops/ms offer: 6431.857 ops/ms poll: 9511.120 ops/ms put: 12168.791 ops/ms take: 26706.265 ops/ms Iteration 8: 46702.465 ops/ms offer: 8422.093 ops/ms poll: 17308.337 ops/ms put: 10305.953 ops/ms take: 10666.082 ops/ms Iteration 9: 52771.858 ops/ms offer: 8994.493 ops/ms poll: 15588.221 ops/ms put: 8785.855 ops/ms take: 19403.289 ops/ms Iteration 10: 13044.361 ops/ms offer: 4439.493 ops/ms poll: 3403.934 ops/ms put: 3389.763 ops/ms take: 1811.171 ops/ms # Run progress: 88.33% complete, ETA 00:01:47 # Fork: 3 of 3 # Warmup Iteration 1: 43381.226 ops/ms # Warmup Iteration 2: 35517.836 ops/ms # Warmup Iteration 3: 46840.273 ops/ms # Warmup Iteration 4: 47697.577 ops/ms # Warmup Iteration 5: 44337.784 ops/ms # Warmup Iteration 6: 40638.461 ops/ms # Warmup Iteration 7: 48287.385 ops/ms # Warmup Iteration 8: 44271.082 ops/ms # Warmup Iteration 9: 50129.545 ops/ms # Warmup Iteration 10: 38724.233 ops/ms Iteration 1: 44166.073 ops/ms offer: 9669.201 ops/ms poll: 9698.293 ops/ms put: 8238.609 ops/ms take: 16559.969 ops/ms Iteration 2: 43921.425 ops/ms offer: 5598.256 ops/ms poll: 17871.248 ops/ms put: 10044.697 ops/ms take: 10407.224 ops/ms Iteration 3: 35459.110 ops/ms offer: 7345.260 ops/ms poll: 9013.683 ops/ms put: 10406.457 ops/ms take: 8693.710 ops/ms Iteration 4: 44802.450 ops/ms offer: 7098.213 ops/ms poll: 16848.009 ops/ms put: 8981.443 ops/ms take: 11874.784 ops/ms Iteration 5: 15463.514 ops/ms offer: 2557.972 ops/ms poll: 8447.108 ops/ms put: 1866.787 ops/ms take: 2591.646 ops/ms Iteration 6: 41605.440 ops/ms offer: 9046.614 ops/ms poll: 13421.409 ops/ms put: 7572.225 ops/ms take: 11565.191 ops/ms Iteration 7: 19476.095 ops/ms offer: 7502.967 ops/ms poll: 6757.114 ops/ms put: 1864.390 ops/ms take: 3351.624 ops/ms Iteration 8: 50567.097 ops/ms offer: 9160.394 ops/ms poll: 14223.698 ops/ms put: 9666.465 ops/ms take: 17516.540 ops/ms Iteration 9: 40166.099 ops/ms offer: 8090.689 ops/ms poll: 8775.286 ops/ms put: 7465.101 ops/ms take: 15835.023 ops/ms Iteration 10: 29027.676 ops/ms offer: 3715.269 ops/ms poll: 17303.524 ops/ms put: 5247.683 ops/ms take: 2761.201 ops/ms Result "com.argosware.blog.lwl.LockingWithoutLock.queue": 41487.009 ±(99.9%) 8611.786 ops/ms [Average] (min, avg, max) = (13044.361, 41487.009, 69521.873), stdev = 12889.716 CI (99.9%): [32875.224, 50098.795] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:offer": 8042.665 ±(99.9%) 2032.204 ops/ms [Average] (min, avg, max) = (2557.972, 8042.665, 20876.799), stdev = 3041.707 CI (99.9%): [6010.462, 10074.869] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:poll": 12620.003 ±(99.9%) 3121.092 ops/ms [Average] (min, avg, max) = (3403.934, 12620.003, 25245.585), stdev = 4671.504 CI (99.9%): [9498.911, 15741.095] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:put": 8020.930 ±(99.9%) 1750.789 ops/ms [Average] (min, avg, max) = (1864.390, 8020.930, 12168.791), stdev = 2620.499 CI (99.9%): [6270.141, 9771.719] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:take": 12803.411 ±(99.9%) 4076.217 ops/ms [Average] (min, avg, max) = (1811.171, 12803.411, 26706.265), stdev = 6101.091 CI (99.9%): [8727.194, 16879.628] (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 = PADDED_SPSC, spinningCounterpart = false) # Run progress: 90.00% complete, ETA 00:01:31 # Fork: 1 of 3 # Warmup Iteration 1: 58165.638 ops/ms # Warmup Iteration 2: 53725.671 ops/ms # Warmup Iteration 3: 64539.921 ops/ms # Warmup Iteration 4: 65641.501 ops/ms # Warmup Iteration 5: 66613.522 ops/ms # Warmup Iteration 6: 75919.716 ops/ms # Warmup Iteration 7: 75436.958 ops/ms # Warmup Iteration 8: 75684.896 ops/ms # Warmup Iteration 9: 65673.564 ops/ms # Warmup Iteration 10: 67325.402 ops/ms Iteration 1: 75131.790 ops/ms offer: 17442.995 ops/ms poll: 23383.394 ops/ms put: 11301.167 ops/ms take: 23004.234 ops/ms Iteration 2: 66063.846 ops/ms offer: 12953.888 ops/ms poll: 19730.884 ops/ms put: 13744.659 ops/ms take: 19634.416 ops/ms Iteration 3: 67778.731 ops/ms offer: 25344.346 ops/ms poll: 15929.882 ops/ms put: 10017.046 ops/ms take: 16487.456 ops/ms Iteration 4: 59089.706 ops/ms offer: 16866.281 ops/ms poll: 15479.461 ops/ms put: 13325.065 ops/ms take: 13418.900 ops/ms Iteration 5: 67460.335 ops/ms offer: 20449.436 ops/ms poll: 14703.384 ops/ms put: 14443.149 ops/ms take: 17864.366 ops/ms Iteration 6: 74784.798 ops/ms offer: 26166.047 ops/ms poll: 21197.374 ops/ms put: 10600.568 ops/ms take: 16820.809 ops/ms Iteration 7: 62559.828 ops/ms offer: 16171.953 ops/ms poll: 14465.054 ops/ms put: 13161.395 ops/ms take: 18761.426 ops/ms Iteration 8: 62882.345 ops/ms offer: 19544.314 ops/ms poll: 17431.489 ops/ms put: 13018.745 ops/ms take: 12887.798 ops/ms Iteration 9: 62236.002 ops/ms offer: 13509.662 ops/ms poll: 14795.999 ops/ms put: 15976.645 ops/ms take: 17953.697 ops/ms Iteration 10: 63404.545 ops/ms offer: 16783.855 ops/ms poll: 18945.169 ops/ms put: 13929.318 ops/ms take: 13746.202 ops/ms # Run progress: 91.67% complete, ETA 00:01:16 # Fork: 2 of 3 # Warmup Iteration 1: 52171.640 ops/ms # Warmup Iteration 2: 89961.292 ops/ms # Warmup Iteration 3: 74340.858 ops/ms # Warmup Iteration 4: 63063.776 ops/ms # Warmup Iteration 5: 62038.779 ops/ms # Warmup Iteration 6: 62396.516 ops/ms # Warmup Iteration 7: 59472.263 ops/ms # Warmup Iteration 8: 81823.615 ops/ms # Warmup Iteration 9: 72006.934 ops/ms # Warmup Iteration 10: 62162.501 ops/ms Iteration 1: 67492.026 ops/ms offer: 10611.582 ops/ms poll: 19345.939 ops/ms put: 16098.489 ops/ms take: 21436.017 ops/ms Iteration 2: 73001.872 ops/ms offer: 17313.489 ops/ms poll: 23287.041 ops/ms put: 17547.075 ops/ms take: 14854.266 ops/ms Iteration 3: 65413.520 ops/ms offer: 15916.802 ops/ms poll: 22330.115 ops/ms put: 15210.953 ops/ms take: 11955.650 ops/ms Iteration 4: 73845.963 ops/ms offer: 17453.266 ops/ms poll: 20445.111 ops/ms put: 21396.147 ops/ms take: 14551.439 ops/ms Iteration 5: 77269.103 ops/ms offer: 27537.120 ops/ms poll: 19133.053 ops/ms put: 10586.898 ops/ms take: 20012.032 ops/ms Iteration 6: 61827.384 ops/ms offer: 12436.797 ops/ms poll: 13172.909 ops/ms put: 16734.853 ops/ms take: 19482.825 ops/ms Iteration 7: 57345.119 ops/ms offer: 13968.347 ops/ms poll: 12722.344 ops/ms put: 16366.314 ops/ms take: 14288.113 ops/ms Iteration 8: 67718.702 ops/ms offer: 12954.391 ops/ms poll: 23796.597 ops/ms put: 11304.715 ops/ms take: 19662.999 ops/ms Iteration 9: 69169.228 ops/ms offer: 17235.687 ops/ms poll: 24018.043 ops/ms put: 15367.222 ops/ms take: 12548.276 ops/ms Iteration 10: 66066.884 ops/ms offer: 13285.983 ops/ms poll: 21402.315 ops/ms put: 13843.017 ops/ms take: 17535.568 ops/ms # Run progress: 93.33% complete, ETA 00:01:01 # Fork: 3 of 3 # Warmup Iteration 1: 56655.862 ops/ms # Warmup Iteration 2: 64835.122 ops/ms # Warmup Iteration 3: 60871.391 ops/ms # Warmup Iteration 4: 55891.272 ops/ms # Warmup Iteration 5: 57110.241 ops/ms # Warmup Iteration 6: 57687.010 ops/ms # Warmup Iteration 7: 63072.084 ops/ms # Warmup Iteration 8: 64774.193 ops/ms # Warmup Iteration 9: 47950.152 ops/ms # Warmup Iteration 10: 59238.996 ops/ms Iteration 1: 62593.717 ops/ms offer: 10761.139 ops/ms poll: 17900.060 ops/ms put: 14596.504 ops/ms take: 19336.014 ops/ms Iteration 2: 60185.527 ops/ms offer: 15247.629 ops/ms poll: 17372.749 ops/ms put: 15795.206 ops/ms take: 11769.943 ops/ms Iteration 3: 62703.303 ops/ms offer: 14818.508 ops/ms poll: 18651.805 ops/ms put: 12971.515 ops/ms take: 16261.475 ops/ms Iteration 4: 72953.573 ops/ms offer: 14881.617 ops/ms poll: 30088.648 ops/ms put: 13701.029 ops/ms take: 14282.280 ops/ms Iteration 5: 57944.787 ops/ms offer: 14289.325 ops/ms poll: 16371.834 ops/ms put: 16883.970 ops/ms take: 10399.658 ops/ms Iteration 6: 51249.573 ops/ms offer: 13983.508 ops/ms poll: 10594.391 ops/ms put: 12742.351 ops/ms take: 13929.323 ops/ms Iteration 7: 82023.645 ops/ms offer: 26405.695 ops/ms poll: 12151.956 ops/ms put: 14710.175 ops/ms take: 28755.818 ops/ms Iteration 8: 60461.617 ops/ms offer: 15075.219 ops/ms poll: 15003.599 ops/ms put: 14535.379 ops/ms take: 15847.420 ops/ms Iteration 9: 62280.976 ops/ms offer: 11149.043 ops/ms poll: 11136.728 ops/ms put: 14047.021 ops/ms take: 25948.184 ops/ms Iteration 10: 73499.116 ops/ms offer: 27104.389 ops/ms poll: 16336.025 ops/ms put: 14638.070 ops/ms take: 15420.632 ops/ms Result "com.argosware.blog.lwl.LockingWithoutLock.queue": 66214.585 ±(99.9%) 4549.587 ops/ms [Average] (min, avg, max) = (51249.573, 66214.585, 82023.645), stdev = 6809.608 CI (99.9%): [61664.999, 70764.172] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:offer": 16922.077 ±(99.9%) 3308.331 ops/ms [Average] (min, avg, max) = (10611.582, 16922.077, 27537.120), stdev = 4951.755 CI (99.9%): [13613.746, 20230.408] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:poll": 18044.112 ±(99.9%) 2970.996 ops/ms [Average] (min, avg, max) = (10594.391, 18044.112, 30088.648), stdev = 4446.847 CI (99.9%): [15073.116, 21015.108] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:put": 14286.489 ±(99.9%) 1576.185 ops/ms [Average] (min, avg, max) = (10017.046, 14286.489, 21396.147), stdev = 2359.159 CI (99.9%): [12710.304, 15862.673] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:take": 16961.908 ±(99.9%) 2800.862 ops/ms [Average] (min, avg, max) = (10399.658, 16961.908, 28755.818), stdev = 4192.199 CI (99.9%): [14161.046, 19762.770] (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 = PADDED_SPSC, spinningCounterpart = true) # Run progress: 95.00% complete, ETA 00:00:45 # Fork: 1 of 3 # Warmup Iteration 1: 38095.253 ops/ms # Warmup Iteration 2: 42953.066 ops/ms # Warmup Iteration 3: 49497.371 ops/ms # Warmup Iteration 4: 60842.886 ops/ms # Warmup Iteration 5: 46570.576 ops/ms # Warmup Iteration 6: 38027.907 ops/ms # Warmup Iteration 7: 50935.229 ops/ms # Warmup Iteration 8: 42374.553 ops/ms # Warmup Iteration 9: 60293.288 ops/ms # Warmup Iteration 10: 42939.465 ops/ms Iteration 1: 67714.101 ops/ms offer: 7756.060 ops/ms poll: 12025.159 ops/ms put: 20171.824 ops/ms take: 27761.058 ops/ms Iteration 2: 51999.334 ops/ms offer: 10807.984 ops/ms poll: 14386.568 ops/ms put: 11049.744 ops/ms take: 15755.038 ops/ms Iteration 3: 49328.222 ops/ms offer: 9524.768 ops/ms poll: 13629.538 ops/ms put: 9676.539 ops/ms take: 16497.376 ops/ms Iteration 4: 49468.781 ops/ms offer: 10477.749 ops/ms poll: 14425.414 ops/ms put: 9593.243 ops/ms take: 14972.375 ops/ms Iteration 5: 49846.386 ops/ms offer: 9265.217 ops/ms poll: 8068.169 ops/ms put: 8485.069 ops/ms take: 24027.932 ops/ms Iteration 6: 55688.825 ops/ms offer: 8320.825 ops/ms poll: 13340.487 ops/ms put: 8004.272 ops/ms take: 26023.242 ops/ms Iteration 7: 41906.536 ops/ms offer: 7649.018 ops/ms poll: 9197.242 ops/ms put: 11685.698 ops/ms take: 13374.577 ops/ms Iteration 8: 45700.955 ops/ms offer: 8487.395 ops/ms poll: 12997.810 ops/ms put: 11277.347 ops/ms take: 12938.404 ops/ms Iteration 9: 41061.678 ops/ms offer: 8317.595 ops/ms poll: 11330.685 ops/ms put: 9287.939 ops/ms take: 12125.459 ops/ms Iteration 10: 47026.610 ops/ms offer: 9029.600 ops/ms poll: 12977.579 ops/ms put: 12260.376 ops/ms take: 12759.055 ops/ms # Run progress: 96.67% complete, ETA 00:00:30 # Fork: 2 of 3 # Warmup Iteration 1: 44973.894 ops/ms # Warmup Iteration 2: 52075.562 ops/ms # Warmup Iteration 3: 43055.260 ops/ms # Warmup Iteration 4: 48494.529 ops/ms # Warmup Iteration 5: 41450.756 ops/ms # Warmup Iteration 6: 42299.667 ops/ms # Warmup Iteration 7: 45679.398 ops/ms # Warmup Iteration 8: 58454.101 ops/ms # Warmup Iteration 9: 49489.551 ops/ms # Warmup Iteration 10: 43196.182 ops/ms Iteration 1: 48159.224 ops/ms offer: 10456.146 ops/ms poll: 13504.180 ops/ms put: 9538.925 ops/ms take: 14659.972 ops/ms Iteration 2: 45707.993 ops/ms offer: 10969.626 ops/ms poll: 11928.520 ops/ms put: 10748.342 ops/ms take: 12061.505 ops/ms Iteration 3: 47644.294 ops/ms offer: 9617.717 ops/ms poll: 14473.348 ops/ms put: 10495.408 ops/ms take: 13057.822 ops/ms Iteration 4: 43953.743 ops/ms offer: 7306.534 ops/ms poll: 15459.638 ops/ms put: 8583.453 ops/ms take: 12604.118 ops/ms Iteration 5: 40828.229 ops/ms offer: 8207.351 ops/ms poll: 12595.024 ops/ms put: 8816.619 ops/ms take: 11209.235 ops/ms Iteration 6: 43408.636 ops/ms offer: 8903.013 ops/ms poll: 14292.347 ops/ms put: 9009.537 ops/ms take: 11203.739 ops/ms Iteration 7: 43447.423 ops/ms offer: 9675.069 ops/ms poll: 11452.181 ops/ms put: 7874.891 ops/ms take: 14445.282 ops/ms Iteration 8: 49929.793 ops/ms offer: 9197.051 ops/ms poll: 12793.798 ops/ms put: 10821.241 ops/ms take: 17117.702 ops/ms Iteration 9: 57775.652 ops/ms offer: 21741.433 ops/ms poll: 13771.143 ops/ms put: 9084.075 ops/ms take: 13179.001 ops/ms Iteration 10: 55318.433 ops/ms offer: 9046.337 ops/ms poll: 25436.489 ops/ms put: 9438.978 ops/ms take: 11396.630 ops/ms # Run progress: 98.33% complete, ETA 00:00:15 # Fork: 3 of 3 # Warmup Iteration 1: 39855.105 ops/ms # Warmup Iteration 2: 44108.076 ops/ms # Warmup Iteration 3: 40507.922 ops/ms # Warmup Iteration 4: 39906.914 ops/ms # Warmup Iteration 5: 40830.618 ops/ms # Warmup Iteration 6: 49306.820 ops/ms # Warmup Iteration 7: 58086.228 ops/ms # Warmup Iteration 8: 42449.011 ops/ms # Warmup Iteration 9: 39668.435 ops/ms # Warmup Iteration 10: 45318.519 ops/ms Iteration 1: 46153.429 ops/ms offer: 9482.353 ops/ms poll: 12914.153 ops/ms put: 10081.918 ops/ms take: 13675.005 ops/ms Iteration 2: 47704.998 ops/ms offer: 9804.593 ops/ms poll: 13594.862 ops/ms put: 10428.361 ops/ms take: 13877.182 ops/ms Iteration 3: 39912.702 ops/ms offer: 8105.051 ops/ms poll: 11680.407 ops/ms put: 8205.432 ops/ms take: 11921.813 ops/ms Iteration 4: 40361.815 ops/ms offer: 9185.430 ops/ms poll: 12223.986 ops/ms put: 9091.457 ops/ms take: 9860.942 ops/ms Iteration 5: 56360.213 ops/ms offer: 22719.697 ops/ms poll: 11095.995 ops/ms put: 8397.577 ops/ms take: 14146.944 ops/ms Iteration 6: 44953.446 ops/ms offer: 10298.493 ops/ms poll: 11879.195 ops/ms put: 7382.981 ops/ms take: 15392.777 ops/ms Iteration 7: 44321.730 ops/ms offer: 8715.669 ops/ms poll: 14732.714 ops/ms put: 8184.890 ops/ms take: 12688.457 ops/ms Iteration 8: 47259.021 ops/ms offer: 9767.087 ops/ms poll: 13621.661 ops/ms put: 8027.954 ops/ms take: 15842.319 ops/ms Iteration 9: 49602.901 ops/ms offer: 9434.839 ops/ms poll: 11587.776 ops/ms put: 16369.215 ops/ms take: 12211.071 ops/ms Iteration 10: 48274.968 ops/ms offer: 10169.920 ops/ms poll: 13337.030 ops/ms put: 10718.642 ops/ms take: 14049.376 ops/ms Result "com.argosware.blog.lwl.LockingWithoutLock.queue": 48027.336 ±(99.9%) 4027.022 ops/ms [Average] (min, avg, max) = (39912.702, 48027.336, 67714.101), stdev = 6027.457 CI (99.9%): [44000.314, 52054.358] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:offer": 10081.321 ±(99.9%) 2293.936 ops/ms [Average] (min, avg, max) = (7306.534, 10081.321, 22719.697), stdev = 3433.456 CI (99.9%): [7787.384, 12375.257] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:poll": 13158.437 ±(99.9%) 1875.294 ops/ms [Average] (min, avg, max) = (8068.169, 13158.437, 25436.489), stdev = 2806.851 CI (99.9%): [11283.143, 15033.730] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:put": 10093.065 ±(99.9%) 1730.771 ops/ms [Average] (min, avg, max) = (7382.981, 10093.065, 20171.824), stdev = 2590.537 CI (99.9%): [8362.294, 11823.836] (assumes normal distribution) Secondary result "com.argosware.blog.lwl.LockingWithoutLock.queue:take": 14694.514 ±(99.9%) 2798.233 ops/ms [Average] (min, avg, max) = (9860.942, 14694.514, 27761.058), stdev = 4188.264 CI (99.9%): [11896.280, 17492.747] (assumes normal distribution) # Run complete. Total time: 00:15:18 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) (spinningCounterpart) Mode Cnt Score Error Units LockingWithoutLock.queue 1 true LOCK false thrpt 30 78822.734 ± 7942.347 ops/ms LockingWithoutLock.queue:offer 1 true LOCK false thrpt 30 38222.067 ± 3903.815 ops/ms LockingWithoutLock.queue:poll 1 true LOCK false thrpt 30 40476.796 ± 4436.544 ops/ms LockingWithoutLock.queue:put 1 true LOCK false thrpt 30 62.623 ± 2.874 ops/ms LockingWithoutLock.queue:take 1 true LOCK false thrpt 30 61.248 ± 2.573 ops/ms LockingWithoutLock.queue 1 true LOCK true thrpt 30 27519.124 ± 4106.430 ops/ms LockingWithoutLock.queue:offer 1 true LOCK true thrpt 30 13032.768 ± 2071.793 ops/ms LockingWithoutLock.queue:poll 1 true LOCK true thrpt 30 13885.184 ± 3189.522 ops/ms LockingWithoutLock.queue:put 1 true LOCK true thrpt 30 311.125 ± 67.604 ops/ms LockingWithoutLock.queue:take 1 true LOCK true thrpt 30 290.047 ± 92.025 ops/ms LockingWithoutLock.queue 1 true SPIN false thrpt 30 30026.391 ± 12046.207 ops/ms LockingWithoutLock.queue:offer 1 true SPIN false thrpt 30 10270.754 ± 4598.250 ops/ms LockingWithoutLock.queue:poll 1 true SPIN false thrpt 30 13652.316 ± 8775.126 ops/ms LockingWithoutLock.queue:put 1 true SPIN false thrpt 30 3369.746 ± 1762.552 ops/ms LockingWithoutLock.queue:take 1 true SPIN false thrpt 30 2733.575 ± 1415.760 ops/ms LockingWithoutLock.queue 1 true SPIN true thrpt 30 26217.137 ± 10597.378 ops/ms LockingWithoutLock.queue:offer 1 true SPIN true thrpt 30 7520.091 ± 3638.075 ops/ms LockingWithoutLock.queue:poll 1 true SPIN true thrpt 30 11113.054 ± 7209.862 ops/ms LockingWithoutLock.queue:put 1 true SPIN true thrpt 30 2268.429 ± 1224.068 ops/ms LockingWithoutLock.queue:take 1 true SPIN true thrpt 30 5315.564 ± 3381.315 ops/ms LockingWithoutLock.queue 1 true PADDED_SPIN false thrpt 30 45651.712 ± 8046.152 ops/ms LockingWithoutLock.queue:offer 1 true PADDED_SPIN false thrpt 30 15829.395 ± 5459.404 ops/ms LockingWithoutLock.queue:poll 1 true PADDED_SPIN false thrpt 30 21752.125 ± 3893.978 ops/ms LockingWithoutLock.queue:put 1 true PADDED_SPIN false thrpt 30 3784.755 ± 1539.948 ops/ms LockingWithoutLock.queue:take 1 true PADDED_SPIN false thrpt 30 4285.438 ± 1806.075 ops/ms LockingWithoutLock.queue 1 true PADDED_SPIN true thrpt 30 45374.562 ± 5016.086 ops/ms LockingWithoutLock.queue:offer 1 true PADDED_SPIN true thrpt 30 13905.206 ± 2904.489 ops/ms LockingWithoutLock.queue:poll 1 true PADDED_SPIN true thrpt 30 22473.198 ± 3447.474 ops/ms LockingWithoutLock.queue:put 1 true PADDED_SPIN true thrpt 30 4128.337 ± 1514.125 ops/ms LockingWithoutLock.queue:take 1 true PADDED_SPIN true thrpt 30 4867.822 ± 2236.291 ops/ms LockingWithoutLock.queue 1 true SPSC false thrpt 30 115933.680 ± 34144.855 ops/ms LockingWithoutLock.queue:offer 1 true SPSC false thrpt 30 56069.032 ± 16627.274 ops/ms LockingWithoutLock.queue:poll 1 true SPSC false thrpt 30 59740.955 ± 21306.522 ops/ms LockingWithoutLock.queue:put 1 true SPSC false thrpt 30 61.661 ± 2.287 ops/ms LockingWithoutLock.queue:take 1 true SPSC false thrpt 30 62.033 ± 2.100 ops/ms LockingWithoutLock.queue 1 true SPSC true thrpt 30 28946.306 ± 12792.201 ops/ms LockingWithoutLock.queue:offer 1 true SPSC true thrpt 30 9549.495 ± 3188.114 ops/ms LockingWithoutLock.queue:poll 1 true SPSC true thrpt 30 16186.679 ± 8459.262 ops/ms LockingWithoutLock.queue:put 1 true SPSC true thrpt 30 1835.664 ± 1552.163 ops/ms LockingWithoutLock.queue:take 1 true SPSC true thrpt 30 1374.469 ± 1668.983 ops/ms LockingWithoutLock.queue 1 true PADDED_SPSC false thrpt 30 143108.618 ± 26047.415 ops/ms LockingWithoutLock.queue:offer 1 true PADDED_SPSC false thrpt 30 72921.061 ± 17124.605 ops/ms LockingWithoutLock.queue:poll 1 true PADDED_SPSC false thrpt 30 70061.791 ± 20468.916 ops/ms LockingWithoutLock.queue:put 1 true PADDED_SPSC false thrpt 30 62.652 ± 1.316 ops/ms LockingWithoutLock.queue:take 1 true PADDED_SPSC false thrpt 30 63.114 ± 2.096 ops/ms LockingWithoutLock.queue 1 true PADDED_SPSC true thrpt 30 42433.937 ± 8624.809 ops/ms LockingWithoutLock.queue:offer 1 true PADDED_SPSC true thrpt 30 16303.470 ± 6001.932 ops/ms LockingWithoutLock.queue:poll 1 true PADDED_SPSC true thrpt 30 20462.828 ± 2979.492 ops/ms LockingWithoutLock.queue:put 1 true PADDED_SPSC true thrpt 30 3208.555 ± 2503.277 ops/ms LockingWithoutLock.queue:take 1 true PADDED_SPSC true thrpt 30 2459.084 ± 1697.730 ops/ms LockingWithoutLock.queue 4096 true LOCK false thrpt 30 50842.593 ± 5865.743 ops/ms LockingWithoutLock.queue:offer 4096 true LOCK false thrpt 30 13136.953 ± 2432.748 ops/ms LockingWithoutLock.queue:poll 4096 true LOCK false thrpt 30 14224.314 ± 2331.382 ops/ms LockingWithoutLock.queue:put 4096 true LOCK false thrpt 30 11302.136 ± 1868.384 ops/ms LockingWithoutLock.queue:take 4096 true LOCK false thrpt 30 12179.190 ± 1815.810 ops/ms LockingWithoutLock.queue 4096 true LOCK true thrpt 30 45105.202 ± 4747.005 ops/ms LockingWithoutLock.queue:offer 4096 true LOCK true thrpt 30 12003.847 ± 2134.309 ops/ms LockingWithoutLock.queue:poll 4096 true LOCK true thrpt 30 12118.886 ± 2445.589 ops/ms LockingWithoutLock.queue:put 4096 true LOCK true thrpt 30 10254.060 ± 1573.706 ops/ms LockingWithoutLock.queue:take 4096 true LOCK true thrpt 30 10728.409 ± 1746.023 ops/ms LockingWithoutLock.queue 4096 true SPIN false thrpt 30 54628.019 ± 8286.482 ops/ms LockingWithoutLock.queue:offer 4096 true SPIN false thrpt 30 11051.799 ± 1996.350 ops/ms LockingWithoutLock.queue:poll 4096 true SPIN false thrpt 30 17429.396 ± 3482.557 ops/ms LockingWithoutLock.queue:put 4096 true SPIN false thrpt 30 11095.852 ± 3917.405 ops/ms LockingWithoutLock.queue:take 4096 true SPIN false thrpt 30 15050.973 ± 3135.024 ops/ms LockingWithoutLock.queue 4096 true SPIN true thrpt 30 55099.104 ± 11790.976 ops/ms LockingWithoutLock.queue:offer 4096 true SPIN true thrpt 30 11088.095 ± 3970.722 ops/ms LockingWithoutLock.queue:poll 4096 true SPIN true thrpt 30 17535.631 ± 4335.341 ops/ms LockingWithoutLock.queue:put 4096 true SPIN true thrpt 30 10665.224 ± 4060.028 ops/ms LockingWithoutLock.queue:take 4096 true SPIN true thrpt 30 15810.153 ± 3838.796 ops/ms LockingWithoutLock.queue 4096 true PADDED_SPIN false thrpt 30 63045.216 ± 8162.524 ops/ms LockingWithoutLock.queue:offer 4096 true PADDED_SPIN false thrpt 30 12626.713 ± 3637.876 ops/ms LockingWithoutLock.queue:poll 4096 true PADDED_SPIN false thrpt 30 19178.040 ± 2176.329 ops/ms LockingWithoutLock.queue:put 4096 true PADDED_SPIN false thrpt 30 12442.533 ± 3950.618 ops/ms LockingWithoutLock.queue:take 4096 true PADDED_SPIN false thrpt 30 18797.929 ± 3578.073 ops/ms LockingWithoutLock.queue 4096 true PADDED_SPIN true thrpt 30 64229.333 ± 4875.418 ops/ms LockingWithoutLock.queue:offer 4096 true PADDED_SPIN true thrpt 30 10583.774 ± 1631.489 ops/ms LockingWithoutLock.queue:poll 4096 true PADDED_SPIN true thrpt 30 20287.875 ± 3345.031 ops/ms LockingWithoutLock.queue:put 4096 true PADDED_SPIN true thrpt 30 13175.597 ± 3054.903 ops/ms LockingWithoutLock.queue:take 4096 true PADDED_SPIN true thrpt 30 20182.088 ± 4999.110 ops/ms LockingWithoutLock.queue 4096 true SPSC false thrpt 30 49944.624 ± 11373.228 ops/ms LockingWithoutLock.queue:offer 4096 true SPSC false thrpt 30 12342.015 ± 3569.215 ops/ms LockingWithoutLock.queue:poll 4096 true SPSC false thrpt 30 13795.922 ± 5346.633 ops/ms LockingWithoutLock.queue:put 4096 true SPSC false thrpt 30 10843.576 ± 3169.023 ops/ms LockingWithoutLock.queue:take 4096 true SPSC false thrpt 30 12963.111 ± 2922.969 ops/ms LockingWithoutLock.queue 4096 true SPSC true thrpt 30 41487.009 ± 8611.786 ops/ms LockingWithoutLock.queue:offer 4096 true SPSC true thrpt 30 8042.665 ± 2032.204 ops/ms LockingWithoutLock.queue:poll 4096 true SPSC true thrpt 30 12620.003 ± 3121.092 ops/ms LockingWithoutLock.queue:put 4096 true SPSC true thrpt 30 8020.930 ± 1750.789 ops/ms LockingWithoutLock.queue:take 4096 true SPSC true thrpt 30 12803.411 ± 4076.217 ops/ms LockingWithoutLock.queue 4096 true PADDED_SPSC false thrpt 30 66214.585 ± 4549.587 ops/ms LockingWithoutLock.queue:offer 4096 true PADDED_SPSC false thrpt 30 16922.077 ± 3308.331 ops/ms LockingWithoutLock.queue:poll 4096 true PADDED_SPSC false thrpt 30 18044.112 ± 2970.996 ops/ms LockingWithoutLock.queue:put 4096 true PADDED_SPSC false thrpt 30 14286.489 ± 1576.185 ops/ms LockingWithoutLock.queue:take 4096 true PADDED_SPSC false thrpt 30 16961.908 ± 2800.862 ops/ms LockingWithoutLock.queue 4096 true PADDED_SPSC true thrpt 30 48027.336 ± 4027.022 ops/ms LockingWithoutLock.queue:offer 4096 true PADDED_SPSC true thrpt 30 10081.321 ± 2293.936 ops/ms LockingWithoutLock.queue:poll 4096 true PADDED_SPSC true thrpt 30 13158.437 ± 1875.294 ops/ms LockingWithoutLock.queue:put 4096 true PADDED_SPSC true thrpt 30 10093.065 ± 1730.771 ops/ms LockingWithoutLock.queue:take 4096 true PADDED_SPSC true thrpt 30 14694.514 ± 2798.233 ops/ms Benchmark result is saved to /home/alexis/argos/blog/content/posts/locking-without-false-sharing/jmh.csv