-
-
Save viktorklang/1c2c9e213bce6159d4114e14c6bc1f06 to your computer and use it in GitHub Desktop.
First: Close all other applications, so that they don't interfere with the benchmark. | |
Second: Make sure that your computer is adequately cooled during the benchmark so it doesn't start thermal throttling. | |
Third: clone https://github.com/viktorklang/scala-futures/ | |
Fourth: git checkout wip-optimizations-√ | |
Fifth: start sbt | |
> project benches | |
> jmh:runMain scala.future.BenchRunner -p impl=stdlib,improved -p pool=fjp -p threads=1 -i 10 -wi 15 -f1 -t1 .TransformationBenchmark* | |
> jmh:runMain scala.future.BenchRunner -p impl=stdlib,improved -p pool=fjp -p threads=1 -i 10 -wi 15 -f1 -t1 .CallbackBenchmark* | |
> jmh:runMain scala.future.BenchRunner -p impl=stdlib,improved -p pool=fjp -p threads=1 -i 10 -wi 15 -f1 -t1 .CompletionWithBenchmark* | |
> jmh:runMain scala.future.BenchRunner -p impl=stdlib,improved -p pool=fjp -p threads=1 -i 10 -wi 15 -f1 -t1 .CompletionBenchmark* | |
Last, but not least, report back the results of the benches, as a comment on this gist! |
Hi
I ran into this error several times. Platform is MBP 2016. Shout if I can assist in nailing this.
[info] # JMH version: 1.19
[info] # VM version: JDK 1.8.0_45, VM 25.45-b02
[info] # VM invoker: /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/bin/java
[info] # VM options: -ea -server -XX:+UseCompressedOops -XX:+AggressiveOpts -XX:+AlwaysPreTouch -XX:+UseCondCardMark
[info] # Warmup: 15 iterations, 1 s each
[info] # Measurement: 10 iterations, 1 s each
[info] # Timeout: 10 min per iteration
[info] # Threads: 1 thread, will synchronize iterations
[info] # Benchmark mode: Throughput, ops/time
[info] # Benchmark: scala.future.TransformationBenchmark.transformation_1
[info] # Parameters: (impl = improved, pool = fjp, threads = 1)
[info]
[info] # Run progress: 7.14% complete, ETA 00:05:36
[info] # Fork: 1 of 1
[info] # Warmup Iteration 1:
[info]
[info] java.util.concurrent.TimeoutException: Future timed out after [60 seconds]
[info] at scala.future.impl.Promise$DefaultPromise.ready(Promise.scala:248)
[info] at scala.future.impl.Promise$DefaultPromise.result(Promise.scala:252)
[info] at scala.concurrent.Await$.$anonfun$result$1(package.scala:190)
[info] at scala.concurrent.Await$$$Lambda$15/1725172.apply(Unknown Source)
[info] at scala.concurrent.BlockContext$DefaultBlockContext$.blockOn(BlockContext.scala:53)
[info] at scala.concurrent.Await$.result(package.scala:123)
[info] at scala.future.TransformationBenchmark.transformation_1(TransformationBenchmark.scala:125)
[info] at scala.future.generated.TransformationBenchmark_transformation_1_jmhTest.transformation_1_thrpt_jmhStub(TransformationBenchmark_transformation_1_jmhTest.java:239)
[info] at scala.future.generated.TransformationBenchmark_transformation_1_jmhTest.transformation_1_Throughput(TransformationBenchmark_transformation_1_jmhTest.java:121)
[info] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[info] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[info] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[info] at java.lang.reflect.Method.invoke(Method.java:497)
[info] at org.openjdk.jmh.runner.BenchmarkHandler$BenchmarkTask.call(BenchmarkHandler.java:453)
[info] at org.openjdk.jmh.runner.BenchmarkHandler$BenchmarkTask.call(BenchmarkHandler.java:437)
[info] at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[info] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[info] at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[info] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[info] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[info] at java.lang.Thread.run(Thread.java:745)
[info]
Late 2014 iMac, i7 4Ghz 4 core, Java 1.8.0_144, MacOS High Sierra, 32Gb 1600Mhz
> jmh:runMain scala.future.BenchRunner -p impl=stdlib,improved -p pool=fjp -p threads=1 -i 10 -wi 15 -f1 -t1 .TransformationBenchmark*
[info] # Run complete. Total time: 00:06:01
[info]
[info] Benchmark (impl) (pool) (threads) Mode Cnt Score Error Units
[info] TransformationBenchmark.transformation_1 stdlib fjp 1 thrpt 10 0.136 ± 0.002 ops/us
[info] TransformationBenchmark.transformation_1 improved fjp 1 thrpt 10 0.132 ± 0.003 ops/us
[info] TransformationBenchmark.transformation_1024 stdlib fjp 1 thrpt 10 8.853 ± 0.094 ops/us
[info] TransformationBenchmark.transformation_1024 improved fjp 1 thrpt 10 19.439 ± 1.313 ops/us
[info] TransformationBenchmark.transformation_16 stdlib fjp 1 thrpt 10 1.771 ± 0.023 ops/us
[info] TransformationBenchmark.transformation_16 improved fjp 1 thrpt 10 2.070 ± 0.047 ops/us
[info] TransformationBenchmark.transformation_2 stdlib fjp 1 thrpt 10 0.272 ± 0.006 ops/us
[info] TransformationBenchmark.transformation_2 improved fjp 1 thrpt 10 0.263 ± 0.007 ops/us
[info] TransformationBenchmark.transformation_4 stdlib fjp 1 thrpt 10 0.540 ± 0.008 ops/us
[info] TransformationBenchmark.transformation_4 improved fjp 1 thrpt 10 0.533 ± 0.010 ops/us
[info] TransformationBenchmark.transformation_64 stdlib fjp 1 thrpt 10 4.623 ± 0.084 ops/us
[info] TransformationBenchmark.transformation_64 improved fjp 1 thrpt 10 6.422 ± 0.181 ops/us
[info] TransformationBenchmark.transformation_8192 stdlib fjp 1 thrpt 10 10.199 ± 0.098 ops/us
[info] TransformationBenchmark.transformation_8192 improved fjp 1 thrpt 10 19.541 ± 0.201 ops/us
[info] scala.future.TransformationBenchmark.transformation_1024_impl=improved_pool=fjp_threads=1 19 ops/us
[info] scala.future.TransformationBenchmark.transformation_1024_impl=stdlib_pool=fjp_threads=1 9 ops/us
[info] scala.future.TransformationBenchmark.transformation_16_impl=improved_pool=fjp_threads=1 2 ops/us
[info] scala.future.TransformationBenchmark.transformation_16_impl=stdlib_pool=fjp_threads=1 2 ops/us
[info] scala.future.TransformationBenchmark.transformation_1_impl=improved_pool=fjp_threads=1 0 ops/us
[info] scala.future.TransformationBenchmark.transformation_1_impl=stdlib_pool=fjp_threads=1 0 ops/us
[info] scala.future.TransformationBenchmark.transformation_2_impl=improved_pool=fjp_threads=1 0 ops/us
[info] scala.future.TransformationBenchmark.transformation_2_impl=stdlib_pool=fjp_threads=1 0 ops/us
[info] scala.future.TransformationBenchmark.transformation_4_impl=improved_pool=fjp_threads=1 1 ops/us
[info] scala.future.TransformationBenchmark.transformation_4_impl=stdlib_pool=fjp_threads=1 1 ops/us
[info] scala.future.TransformationBenchmark.transformation_64_impl=improved_pool=fjp_threads=1 6 ops/us
[info] scala.future.TransformationBenchmark.transformation_64_impl=stdlib_pool=fjp_threads=1 5 ops/us
[info] scala.future.TransformationBenchmark.transformation_8192_impl=improved_pool=fjp_threads=1 20 ops/us
[info] scala.future.TransformationBenchmark.transformation_8192_impl=stdlib_pool=fjp_threads=1 10 ops/us
>jmh:runMain scala.future.BenchRunner -p impl=stdlib,improved -p pool=fjp -p threads=1 -i 10 -wi 15 -f1 -t1 .CallbackBenchmark*
[info] # Run complete. Total time: 00:05:58
[info]
[info] Benchmark (impl) (pool) (threads) Mode Cnt Score Error Units
[info] CallbackBenchmark.onComplete_1 stdlib fjp 1 thrpt 10 20.906 ± 0.086 ops/us
[info] CallbackBenchmark.onComplete_1 improved fjp 1 thrpt 10 22.638 ± 0.135 ops/us
[info] CallbackBenchmark.onComplete_1024 stdlib fjp 1 thrpt 10 48.793 ± 0.278 ops/us
[info] CallbackBenchmark.onComplete_1024 improved fjp 1 thrpt 10 61.475 ± 0.558 ops/us
[info] CallbackBenchmark.onComplete_16 stdlib fjp 1 thrpt 10 45.063 ± 0.161 ops/us
[info] CallbackBenchmark.onComplete_16 improved fjp 1 thrpt 10 48.555 ± 0.146 ops/us
[info] CallbackBenchmark.onComplete_2 stdlib fjp 1 thrpt 10 28.859 ± 0.057 ops/us
[info] CallbackBenchmark.onComplete_2 improved fjp 1 thrpt 10 32.741 ± 0.346 ops/us
[info] CallbackBenchmark.onComplete_4 stdlib fjp 1 thrpt 10 36.190 ± 0.390 ops/us
[info] CallbackBenchmark.onComplete_4 improved fjp 1 thrpt 10 38.684 ± 0.113 ops/us
[info] CallbackBenchmark.onComplete_64 stdlib fjp 1 thrpt 10 46.715 ± 1.320 ops/us
[info] CallbackBenchmark.onComplete_64 improved fjp 1 thrpt 10 59.903 ± 0.451 ops/us
[info] CallbackBenchmark.onComplete_8192 stdlib fjp 1 thrpt 10 44.142 ± 1.034 ops/us
[info] CallbackBenchmark.onComplete_8192 improved fjp 1 thrpt 10 55.726 ± 4.163 ops/us
[info] scala.future.CallbackBenchmark.onComplete_1024_impl=improved_pool=fjp_threads=1 61 ops/us
[info] scala.future.CallbackBenchmark.onComplete_1024_impl=stdlib_pool=fjp_threads=1 49 ops/us
[info] scala.future.CallbackBenchmark.onComplete_16_impl=improved_pool=fjp_threads=1 49 ops/us
[info] scala.future.CallbackBenchmark.onComplete_16_impl=stdlib_pool=fjp_threads=1 45 ops/us
[info] scala.future.CallbackBenchmark.onComplete_1_impl=improved_pool=fjp_threads=1 23 ops/us
[info] scala.future.CallbackBenchmark.onComplete_1_impl=stdlib_pool=fjp_threads=1 21 ops/us
[info] scala.future.CallbackBenchmark.onComplete_2_impl=improved_pool=fjp_threads=1 33 ops/us
[info] scala.future.CallbackBenchmark.onComplete_2_impl=stdlib_pool=fjp_threads=1 29 ops/us
[info] scala.future.CallbackBenchmark.onComplete_4_impl=improved_pool=fjp_threads=1 39 ops/us
[info] scala.future.CallbackBenchmark.onComplete_4_impl=stdlib_pool=fjp_threads=1 36 ops/us
[info] scala.future.CallbackBenchmark.onComplete_64_impl=improved_pool=fjp_threads=1 60 ops/us
[info] scala.future.CallbackBenchmark.onComplete_64_impl=stdlib_pool=fjp_threads=1 47 ops/us
[info] scala.future.CallbackBenchmark.onComplete_8192_impl=improved_pool=fjp_threads=1 56 ops/us
[info] scala.future.CallbackBenchmark.onComplete_8192_impl=stdlib_pool=fjp_threads=1 44 ops/us
> jmh:runMain scala.future.BenchRunner -p impl=stdlib,improved -p pool=fjp -p threads=1 -i 10 -wi 15 -f1 -t1 .CompletionWithBenchmark*
[info] # Run complete. Total time: 00:12:03
[info]
[info] Benchmark (impl) (result) Mode Cnt Score Error Units
[info] CompletionWithBenchmark.tryCompleteWith_1 stdlib success thrpt 10 3.257 ± 0.023 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_1 stdlib failure thrpt 10 3.502 ± 0.066 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_1 improved success thrpt 10 5.415 ± 0.052 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_1 improved failure thrpt 10 4.551 ± 0.053 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_1024 stdlib success thrpt 10 5.402 ± 0.090 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_1024 stdlib failure thrpt 10 4.828 ± 0.061 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_1024 improved success thrpt 10 8.589 ± 0.067 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_1024 improved failure thrpt 10 8.612 ± 0.141 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_16 stdlib success thrpt 10 5.158 ± 0.153 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_16 stdlib failure thrpt 10 4.690 ± 0.064 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_16 improved success thrpt 10 8.336 ± 0.220 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_16 improved failure thrpt 10 8.291 ± 0.093 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_2 stdlib success thrpt 10 4.469 ± 0.046 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_2 stdlib failure thrpt 10 4.001 ± 0.042 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_2 improved success thrpt 10 5.538 ± 0.057 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_2 improved failure thrpt 10 5.742 ± 0.183 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_4 stdlib success thrpt 10 4.871 ± 0.065 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_4 stdlib failure thrpt 10 4.491 ± 0.009 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_4 improved success thrpt 10 8.105 ± 0.034 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_4 improved failure thrpt 10 7.318 ± 0.026 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_64 stdlib success thrpt 10 5.494 ± 0.026 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_64 stdlib failure thrpt 10 4.976 ± 0.010 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_64 improved success thrpt 10 9.498 ± 0.150 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_64 improved failure thrpt 10 8.863 ± 0.191 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_8192 stdlib success thrpt 10 5.611 ± 0.096 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_8192 stdlib failure thrpt 10 5.262 ± 0.034 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_8192 improved success thrpt 10 8.858 ± 0.241 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_8192 improved failure thrpt 10 9.024 ± 0.169 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_1024_impl=improved_result=failure 9 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_1024_impl=improved_result=success 9 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_1024_impl=stdlib_result=failure 5 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_1024_impl=stdlib_result=success 5 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_16_impl=improved_result=failure 8 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_16_impl=improved_result=success 8 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_16_impl=stdlib_result=failure 5 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_16_impl=stdlib_result=success 5 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_1_impl=improved_result=failure 5 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_1_impl=improved_result=success 5 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_1_impl=stdlib_result=failure 4 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_1_impl=stdlib_result=success 3 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_2_impl=improved_result=failure 6 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_2_impl=improved_result=success 6 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_2_impl=stdlib_result=failure 4 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_2_impl=stdlib_result=success 4 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_4_impl=improved_result=failure 7 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_4_impl=improved_result=success 8 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_4_impl=stdlib_result=failure 4 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_4_impl=stdlib_result=success 5 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_64_impl=improved_result=failure 9 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_64_impl=improved_result=success 9 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_64_impl=stdlib_result=failure 5 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_64_impl=stdlib_result=success 5 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_8192_impl=improved_result=failure 9 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_8192_impl=improved_result=success 9 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_8192_impl=stdlib_result=failure 5 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_8192_impl=stdlib_result=success 6 ops/us
> jmh:runMain scala.future.BenchRunner -p impl=stdlib,improved -p pool=fjp -p threads=1 -i 10 -wi 15 -f1 -t1 .CompletionBenchmark*
[info] # Run complete. Total time: 00:11:55
[info]
[info] Benchmark (impl) (result) Mode Cnt Score Error Units
[info] CompletionBenchmark.tryComplete_1 stdlib success thrpt 10 29.215 ± 0.251 ops/us
[info] CompletionBenchmark.tryComplete_1 stdlib failure thrpt 10 18.751 ± 0.110 ops/us
[info] CompletionBenchmark.tryComplete_1 improved success thrpt 10 28.523 ± 0.263 ops/us
[info] CompletionBenchmark.tryComplete_1 improved failure thrpt 10 21.073 ± 0.288 ops/us
[info] CompletionBenchmark.tryComplete_1024 stdlib success thrpt 10 687.080 ± 2.410 ops/us
[info] CompletionBenchmark.tryComplete_1024 stdlib failure thrpt 10 49.014 ± 0.089 ops/us
[info] CompletionBenchmark.tryComplete_1024 improved success thrpt 10 1023.992 ± 2.692 ops/us
[info] CompletionBenchmark.tryComplete_1024 improved failure thrpt 10 1005.651 ± 2.545 ops/us
[info] CompletionBenchmark.tryComplete_16 stdlib success thrpt 10 239.217 ± 2.412 ops/us
[info] CompletionBenchmark.tryComplete_16 stdlib failure thrpt 10 44.493 ± 0.093 ops/us
[info] CompletionBenchmark.tryComplete_16 improved success thrpt 10 298.709 ± 2.224 ops/us
[info] CompletionBenchmark.tryComplete_16 improved failure thrpt 10 231.805 ± 1.807 ops/us
[info] CompletionBenchmark.tryComplete_2 stdlib success thrpt 10 47.226 ± 1.117 ops/us
[info] CompletionBenchmark.tryComplete_2 stdlib failure thrpt 10 28.046 ± 0.168 ops/us
[info] CompletionBenchmark.tryComplete_2 improved success thrpt 10 49.470 ± 0.389 ops/us
[info] CompletionBenchmark.tryComplete_2 improved failure thrpt 10 37.818 ± 0.403 ops/us
[info] CompletionBenchmark.tryComplete_4 stdlib success thrpt 10 88.155 ± 0.901 ops/us
[info] CompletionBenchmark.tryComplete_4 stdlib failure thrpt 10 35.182 ± 0.160 ops/us
[info] CompletionBenchmark.tryComplete_4 improved success thrpt 10 92.601 ± 1.530 ops/us
[info] CompletionBenchmark.tryComplete_4 improved failure thrpt 10 72.825 ± 0.465 ops/us
[info] CompletionBenchmark.tryComplete_64 stdlib success thrpt 10 453.317 ± 3.969 ops/us
[info] CompletionBenchmark.tryComplete_64 stdlib failure thrpt 10 47.168 ± 0.078 ops/us
[info] CompletionBenchmark.tryComplete_64 improved success thrpt 10 564.887 ± 8.966 ops/us
[info] CompletionBenchmark.tryComplete_64 improved failure thrpt 10 497.314 ± 3.831 ops/us
[info] CompletionBenchmark.tryComplete_8192 stdlib success thrpt 10 717.950 ± 2.236 ops/us
[info] CompletionBenchmark.tryComplete_8192 stdlib failure thrpt 10 49.580 ± 3.462 ops/us
[info] CompletionBenchmark.tryComplete_8192 improved success thrpt 10 1067.990 ± 9.811 ops/us
[info] CompletionBenchmark.tryComplete_8192 improved failure thrpt 10 1070.038 ± 2.257 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_1024_impl=improved_result=failure 1006 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_1024_impl=improved_result=success 1024 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_1024_impl=stdlib_result=failure 49 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_1024_impl=stdlib_result=success 687 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_16_impl=improved_result=failure 232 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_16_impl=improved_result=success 299 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_16_impl=stdlib_result=failure 44 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_16_impl=stdlib_result=success 239 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_1_impl=improved_result=failure 21 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_1_impl=improved_result=success 29 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_1_impl=stdlib_result=failure 19 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_1_impl=stdlib_result=success 29 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_2_impl=improved_result=failure 38 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_2_impl=improved_result=success 49 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_2_impl=stdlib_result=failure 28 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_2_impl=stdlib_result=success 47 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_4_impl=improved_result=failure 73 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_4_impl=improved_result=success 93 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_4_impl=stdlib_result=failure 35 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_4_impl=stdlib_result=success 88 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_64_impl=improved_result=failure 497 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_64_impl=improved_result=success 565 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_64_impl=stdlib_result=failure 47 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_64_impl=stdlib_result=success 453 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_8192_impl=improved_result=failure 1070 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_8192_impl=improved_result=success 1068 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_8192_impl=stdlib_result=failure 50 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_8192_impl=stdlib_result=success 718 ops/us
i7 32GB DDR4 @ 2133MHz
[info] Result "scala.future.TransformationBenchmark.transformation_8192":
[info] 14.740 ±(99.9%) 4.271 ops/us [Average]
[info] (min, avg, max) = (11.641, 14.740, 18.341), stdev = 2.825
[info] CI (99.9%): [10.469, 19.012] (assumes normal distribution)
[info]
[info]
[info] # Run complete. Total time: 00:05:57
[info]
[info] Benchmark (impl) (pool) (threads) Mode Cnt Score Error Units
[info] TransformationBenchmark.transformation_1 stdlib fjp 1 thrpt 10 0.155 ± 0.003 ops/us
[info] TransformationBenchmark.transformation_1 improved fjp 1 thrpt 10 0.170 ± 0.051 ops/us
[info] TransformationBenchmark.transformation_1024 stdlib fjp 1 thrpt 10 6.901 ± 0.141 ops/us
[info] TransformationBenchmark.transformation_1024 improved fjp 1 thrpt 10 16.790 ± 2.441 ops/us
[info] TransformationBenchmark.transformation_16 stdlib fjp 1 thrpt 10 1.848 ± 0.052 ops/us
[info] TransformationBenchmark.transformation_16 improved fjp 1 thrpt 10 2.230 ± 0.071 ops/us
[info] TransformationBenchmark.transformation_2 stdlib fjp 1 thrpt 10 0.308 ± 0.003 ops/us
[info] TransformationBenchmark.transformation_2 improved fjp 1 thrpt 10 0.326 ± 0.049 ops/us
[info] TransformationBenchmark.transformation_4 stdlib fjp 1 thrpt 10 0.624 ± 0.084 ops/us
[info] TransformationBenchmark.transformation_4 improved fjp 1 thrpt 10 0.636 ± 0.082 ops/us
[info] TransformationBenchmark.transformation_64 stdlib fjp 1 thrpt 10 4.399 ± 0.063 ops/us
[info] TransformationBenchmark.transformation_64 improved fjp 1 thrpt 10 6.745 ± 0.231 ops/us
[info] TransformationBenchmark.transformation_8192 stdlib fjp 1 thrpt 10 7.391 ± 0.193 ops/us
[info] TransformationBenchmark.transformation_8192 improved fjp 1 thrpt 10 14.740 ± 4.271 ops/us
[info] scala.future.TransformationBenchmark.transformation_1024_impl=improved_pool=fjp_threads=1 17 ops/us
[info] scala.future.TransformationBenchmark.transformation_1024_impl=stdlib_pool=fjp_threads=1 7 ops/us
[info] scala.future.TransformationBenchmark.transformation_16_impl=improved_pool=fjp_threads=1 2 ops/us
[info] scala.future.TransformationBenchmark.transformation_16_impl=stdlib_pool=fjp_threads=12ops/us
[info] scala.future.TransformationBenchmark.transformation_1_impl=improved_pool=fjp_threads=10 ops/us
[info] scala.future.TransformationBenchmark.transformation_1_impl=stdlib_pool=fjp_threads=1 0ops/us
[info] scala.future.TransformationBenchmark.transformation_2_impl=improved_pool=fjp_threads=10 ops/us
[info] scala.future.TransformationBenchmark.transformation_2_impl=stdlib_pool=fjp_threads=1 0ops/us
[info] scala.future.TransformationBenchmark.transformation_4_impl=improved_pool=fjp_threads=11 ops/us
[info] scala.future.TransformationBenchmark.transformation_4_impl=stdlib_pool=fjp_threads=1 1ops/us
[info] scala.future.TransformationBenchmark.transformation_64_impl=improved_pool=fjp_threads=1 7 ops/us
[info] scala.future.TransformationBenchmark.transformation_64_impl=stdlib_pool=fjp_threads=14ops/us
[info] scala.future.TransformationBenchmark.transformation_8192_impl=improved_pool=fjp_threads=1 15 ops/us
[info] scala.future.TransformationBenchmark.transformation_8192_impl=stdlib_pool=fjp_threads=1 7 ops/us
[info] Result "scala.future.CallbackBenchmark.onComplete_8192":
[info] 49.861 ±(99.9%) 5.720 ops/us [Average]
[info] (min, avg, max) = (47.079, 49.861, 56.413), stdev = 3.783
[info] CI (99.9%): [44.141, 55.580] (assumes normal distribution)
[info]
[info]
[info] # Run complete. Total time: 00:05:54
[info]
[info] Benchmark (impl) (pool) (threads) Mode Cnt Score Error Units
[info] CallbackBenchmark.onComplete_1 stdlib fjp 1 thrpt 10 21.110 ± 0.342 ops/us
[info] CallbackBenchmark.onComplete_1 improved fjp 1 thrpt 10 25.511 ± 0.166 ops/us
[info] CallbackBenchmark.onComplete_1024 stdlib fjp 1 thrpt 10 38.052 ± 0.090 ops/us
[info] CallbackBenchmark.onComplete_1024 improved fjp 1 thrpt 10 52.904 ± 0.573 ops/us
[info] CallbackBenchmark.onComplete_16 stdlib fjp 1 thrpt 10 36.827 ± 0.270 ops/us
[info] CallbackBenchmark.onComplete_16 improved fjp 1 thrpt 10 38.935 ± 0.344 ops/us
[info] CallbackBenchmark.onComplete_2 stdlib fjp 1 thrpt 10 27.046 ± 0.223 ops/us
[info] CallbackBenchmark.onComplete_2 improved fjp 1 thrpt 10 34.077 ± 0.381 ops/us
[info] CallbackBenchmark.onComplete_4 stdlib fjp 1 thrpt 10 31.698 ± 0.237 ops/us
[info] CallbackBenchmark.onComplete_4 improved fjp 1 thrpt 10 33.668 ± 0.265 ops/us
[info] CallbackBenchmark.onComplete_64 stdlib fjp 1 thrpt 10 38.727 ± 0.461 ops/us
[info] CallbackBenchmark.onComplete_64 improved fjp 1 thrpt 10 51.312 ± 0.235 ops/us
[info] CallbackBenchmark.onComplete_8192 stdlib fjp 1 thrpt 10 38.602 ± 0.251 ops/us
[info] CallbackBenchmark.onComplete_8192 improved fjp 1 thrpt 10 49.861 ± 5.720 ops/us
[info] scala.future.CallbackBenchmark.onComplete_1024_impl=improved_pool=fjp_threads=1 53 ops/us
[info] scala.future.CallbackBenchmark.onComplete_1024_impl=stdlib_pool=fjp_threads=1 38 ops/us
[info] scala.future.CallbackBenchmark.onComplete_16_impl=improved_pool=fjp_threads=1 39 ops/us
[info] scala.future.CallbackBenchmark.onComplete_16_impl=stdlib_pool=fjp_threads=1 37 ops/us
[info] scala.future.CallbackBenchmark.onComplete_1_impl=improved_pool=fjp_threads=1 26 ops/us
[info] scala.future.CallbackBenchmark.onComplete_1_impl=stdlib_pool=fjp_threads=1 21 ops/us
[info] scala.future.CallbackBenchmark.onComplete_2_impl=improved_pool=fjp_threads=1 34 ops/us
[info] scala.future.CallbackBenchmark.onComplete_2_impl=stdlib_pool=fjp_threads=1 27 ops/us
[info] scala.future.CallbackBenchmark.onComplete_4_impl=improved_pool=fjp_threads=1 34 ops/us
[info] scala.future.CallbackBenchmark.onComplete_4_impl=stdlib_pool=fjp_threads=1 32 ops/us
[info] scala.future.CallbackBenchmark.onComplete_64_impl=improved_pool=fjp_threads=1 51 ops/us
[info] scala.future.CallbackBenchmark.onComplete_64_impl=stdlib_pool=fjp_threads=1 39 ops/us
[info] scala.future.CallbackBenchmark.onComplete_8192_impl=improved_pool=fjp_threads=1 50 ops/us
[info] scala.future.CallbackBenchmark.onComplete_8192_impl=stdlib_pool=fjp_threads=1 39 ops/us
[info] Result "scala.future.CompletionWithBenchmark.tryCompleteWith_8192":
[info] 7.556 ±(99.9%) 0.035 ops/us [Average]
[info] (min, avg, max) = (7.525, 7.556, 7.598), stdev = 0.023
[info] CI (99.9%): [7.522, 7.591] (assumes normal distribution)
[info]
[info]
[info] # Run complete. Total time: 00:11:55
[info]
[info] Benchmark (impl) (result) Mode Cnt Score Error Units
[info] CompletionWithBenchmark.tryCompleteWith_1 stdlib success thrpt 10 3.465 ± 0.020 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_1 stdlib failure thrpt 10 3.025 ± 0.022 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_1 improved success thrpt 10 4.846 ± 0.040 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_1 improved failure thrpt 10 4.038 ± 0.035 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_1024 stdlib success thrpt 10 4.644 ± 0.057 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_1024 stdlib failure thrpt 10 4.329 ± 0.030 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_1024 improved success thrpt 10 7.660 ± 0.050 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_1024 improved failure thrpt 10 7.724 ± 0.045 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_16 stdlib success thrpt 10 4.618 ± 0.040 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_16 stdlib failure thrpt 10 4.105 ± 0.014 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_16 improved success thrpt 10 7.344 ± 0.042 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_16 improved failure thrpt 10 7.380 ± 0.030 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_2 stdlib success thrpt 10 4.040 ± 0.018 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_2 stdlib failure thrpt 10 3.443 ± 0.035 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_2 improved success thrpt 10 5.969 ± 0.034 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_2 improved failure thrpt 10 5.169 ± 0.037 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_4 stdlib success thrpt 10 4.240 ± 0.024 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_4 stdlib failure thrpt 10 3.743 ± 0.031 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_4 improved success thrpt 10 6.788 ± 0.037 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_4 improved failure thrpt 10 6.189 ± 0.059 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_64 stdlib success thrpt 10 4.714 ± 0.041 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_64 stdlib failure thrpt 10 4.090 ± 0.027 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_64 improved success thrpt 10 7.521 ± 0.044 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_64 improved failure thrpt 10 7.393 ± 0.032 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_8192 stdlib success thrpt 10 4.630 ± 0.045 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_8192 stdlib failure thrpt 10 4.345 ± 0.032 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_8192 improved success thrpt 10 7.599 ± 0.023 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_8192 improved failure thrpt 10 7.556 ± 0.035 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_1024_impl=improved_result=failure 8 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_1024_impl=improved_result=success 8 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_1024_impl=stdlib_result=failure 4 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_1024_impl=stdlib_result=success 5 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_16_impl=improved_result=failure 7 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_16_impl=improved_result=success 7 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_16_impl=stdlib_result=failure 4 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_16_impl=stdlib_result=success 5 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_1_impl=improved_result=failure 4 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_1_impl=improved_result=success 5 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_1_impl=stdlib_result=failure 3 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_1_impl=stdlib_result=success 3 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_2_impl=improved_result=failure 5 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_2_impl=improved_result=success 6 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_2_impl=stdlib_result=failure 3 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_2_impl=stdlib_result=success 4 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_4_impl=improved_result=failure 6 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_4_impl=improved_result=success 7 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_4_impl=stdlib_result=failure 4 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_4_impl=stdlib_result=success 4 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_64_impl=improved_result=failure 7 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_64_impl=improved_result=success 8 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_64_impl=stdlib_result=failure 4 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_64_impl=stdlib_result=success 5 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_8192_impl=improved_result=failure 8 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_8192_impl=improved_result=success 8 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_8192_impl=stdlib_result=failure 4 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_8192_impl=stdlib_result=success 5 ops/us
[info] Result "scala.future.CompletionBenchmark.tryComplete_8192":
[info] 687.949 ±(99.9%) 0.456 ops/us [Average]
[info] (min, avg, max) = (687.437, 687.949, 688.570), stdev = 0.301
[info] CI (99.9%): [687.493, 688.405] (assumes normal distribution)
[info]
[info]
[info] # Run complete. Total time: 00:11:48
[info]
[info] Benchmark (impl) (result) Mode Cnt Score Error Units
[info] CompletionBenchmark.tryComplete_1 stdlib success thrpt 10 33.644 ± 0.110 ops/us
[info] CompletionBenchmark.tryComplete_1 stdlib failure thrpt 10 17.823 ± 0.110 ops/us
[info] CompletionBenchmark.tryComplete_1 improved success thrpt 10 31.379 ± 0.155 ops/us
[info] CompletionBenchmark.tryComplete_1 improved failure thrpt 10 19.834 ± 0.121 ops/us
[info] CompletionBenchmark.tryComplete_1024 stdlib success thrpt 10 378.529 ± 2.911 ops/us
[info] CompletionBenchmark.tryComplete_1024 stdlib failure thrpt 10 39.280 ± 0.331 ops/us
[info] CompletionBenchmark.tryComplete_1024 improved success thrpt 10 826.627 ± 10.282 ops/us
[info] CompletionBenchmark.tryComplete_1024 improved failure thrpt 10 820.172 ± 5.641 ops/us
[info] CompletionBenchmark.tryComplete_16 stdlib success thrpt 10 251.321 ± 1.813 ops/us
[info] CompletionBenchmark.tryComplete_16 stdlib failure thrpt 10 36.846 ± 0.224 ops/us
[info] CompletionBenchmark.tryComplete_16 improved success thrpt 10 289.859 ± 0.921 ops/us
[info] CompletionBenchmark.tryComplete_16 improved failure thrpt 10 223.847 ± 1.592 ops/us
[info] CompletionBenchmark.tryComplete_2 stdlib success thrpt 10 51.896 ± 0.144 ops/us
[info] CompletionBenchmark.tryComplete_2 stdlib failure thrpt 10 24.898 ± 0.301 ops/us
[info] CompletionBenchmark.tryComplete_2 improved success thrpt 10 51.125 ± 0.127 ops/us
[info] CompletionBenchmark.tryComplete_2 improved failure thrpt 10 36.193 ± 0.439 ops/us
[info] CompletionBenchmark.tryComplete_4 stdlib success thrpt 10 94.477 ± 0.316 ops/us
[info] CompletionBenchmark.tryComplete_4 stdlib failure thrpt 10 30.565 ± 0.197 ops/us
[info] CompletionBenchmark.tryComplete_4 improved success thrpt 10 97.251 ± 0.335 ops/us
[info] CompletionBenchmark.tryComplete_4 improved failure thrpt 10 69.855 ± 0.128 ops/us
[info] CompletionBenchmark.tryComplete_64 stdlib success thrpt 10 355.271 ± 4.243 ops/us
[info] CompletionBenchmark.tryComplete_64 stdlib failure thrpt 10 38.420 ± 0.216 ops/us
[info] CompletionBenchmark.tryComplete_64 improved success thrpt 10 575.297 ± 5.536 ops/us
[info] CompletionBenchmark.tryComplete_64 improved failure thrpt 10 501.714 ± 6.928 ops/us
[info] CompletionBenchmark.tryComplete_8192 stdlib success thrpt 10 382.756 ± 1.102 ops/us
[info] CompletionBenchmark.tryComplete_8192 stdlib failure thrpt 10 41.690 ± 2.324 ops/us
[info] CompletionBenchmark.tryComplete_8192 improved success thrpt 10 687.765 ± 1.608 ops/us
[info] CompletionBenchmark.tryComplete_8192 improved failure thrpt 10 687.949 ± 0.456 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_1024_impl=improved_result=failure 820 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_1024_impl=improved_result=success 827 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_1024_impl=stdlib_result=failure 39 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_1024_impl=stdlib_result=success 379 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_16_impl=improved_result=failure 224 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_16_impl=improved_result=success 290 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_16_impl=stdlib_result=failure 37 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_16_impl=stdlib_result=success 251 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_1_impl=improved_result=failure 20 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_1_impl=improved_result=success 31 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_1_impl=stdlib_result=failure 18 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_1_impl=stdlib_result=success 34 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_2_impl=improved_result=failure 36 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_2_impl=improved_result=success 51 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_2_impl=stdlib_result=failure 25 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_2_impl=stdlib_result=success 52 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_4_impl=improved_result=failure 70 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_4_impl=improved_result=success 97 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_4_impl=stdlib_result=failure 31 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_4_impl=stdlib_result=success 94 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_64_impl=improved_result=failure 502 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_64_impl=improved_result=success 575 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_64_impl=stdlib_result=failure 38 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_64_impl=stdlib_result=success 355 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_8192_impl=improved_result=failure 688 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_8192_impl=improved_result=success 688 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_8192_impl=stdlib_result=failure 42 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_8192_impl=stdlib_result=success 383 ops/us
Benched on: