scala-futures
scala-futures copied to clipboard
Benchmark run results on i7-7700HQ CPU @ 2.80GHz
Some of the final run results from running sbt:benches> jmh:runMain scala.future.BenchRunner -p impl=stdlib,improved -p threads=1 -p completed=pre,post -i 30 -wi 15 -f 1 -t 1 .*
cpu: Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz (HT enabled) memory: 16G DDR4 2400Mhz (Dell XPS15, mid 2017)
Did not review the changes in the branch yet though, just let it running on the side, let me know how I can help ;)
[info] # Run complete. Total time: 02:19:39
[info] Benchmark (impl) (pool) (recursion) (result) (threads) Mode Cnt Score Error Units
[info] AndThenBenchmark.improved_post N/A fjp 1024 N/A 1 thrpt 30 9.442 ± 0.058 ops/ms
[info] AndThenBenchmark.improved_post N/A fix 1024 N/A 1 thrpt 30 7.916 ± 0.037 ops/ms
[info] AndThenBenchmark.improved_post N/A fie 1024 N/A 1 thrpt 30 23.577 ± 0.135 ops/ms
[info] AndThenBenchmark.improved_pre N/A fjp 1024 N/A 1 thrpt 30 12.072 ± 0.079 ops/ms
[info] AndThenBenchmark.improved_pre N/A fix 1024 N/A 1 thrpt 30 7.779 ± 0.156 ops/ms
[info] AndThenBenchmark.improved_pre N/A fie 1024 N/A 1 thrpt 30 10.143 ± 0.057 ops/ms
[info] AndThenBenchmark.stdlib_post N/A fjp 1024 N/A 1 thrpt 30 7.888 ± 0.080 ops/ms
[info] AndThenBenchmark.stdlib_post N/A fix 1024 N/A 1 thrpt 30 7.141 ± 0.057 ops/ms
[info] AndThenBenchmark.stdlib_post N/A fie 1024 N/A 1 thrpt 30 15.335 ± 0.394 ops/ms
[info] AndThenBenchmark.stdlib_pre N/A fjp 1024 N/A 1 thrpt 30 9.327 ± 0.061 ops/ms
[info] AndThenBenchmark.stdlib_pre N/A fix 1024 N/A 1 thrpt 30 9.131 ± 0.058 ops/ms
[info] AndThenBenchmark.stdlib_pre N/A fie 1024 N/A 1 thrpt 30 5.247 ± 0.045 ops/ms
[info] CallbackBenchmark.onComplete_1 stdlib fjp N/A N/A 1 thrpt 30 23.235 ± 0.184 ops/us
[info] CallbackBenchmark.onComplete_1 stdlib fix N/A N/A 1 thrpt 30 23.120 ± 0.158 ops/us
[info] CallbackBenchmark.onComplete_1 improved fjp N/A N/A 1 thrpt 30 25.113 ± 0.175 ops/us
[info] CallbackBenchmark.onComplete_1 improved fix N/A N/A 1 thrpt 30 25.800 ± 0.588 ops/us
[info] CallbackBenchmark.onComplete_1024 stdlib fjp N/A N/A 1 thrpt 30 39.628 ± 0.226 ops/us
[info] CallbackBenchmark.onComplete_1024 stdlib fix N/A N/A 1 thrpt 30 39.641 ± 0.254 ops/us
[info] CallbackBenchmark.onComplete_1024 improved fjp N/A N/A 1 thrpt 30 49.798 ± 0.408 ops/us
[info] CallbackBenchmark.onComplete_1024 improved fix N/A N/A 1 thrpt 30 49.822 ± 0.367 ops/us
[info] CallbackBenchmark.onComplete_16 stdlib fjp N/A N/A 1 thrpt 30 38.818 ± 0.270 ops/us
[info] CallbackBenchmark.onComplete_16 stdlib fix N/A N/A 1 thrpt 30 38.806 ± 0.205 ops/us
[info] CallbackBenchmark.onComplete_16 improved fjp N/A N/A 1 thrpt 30 44.299 ± 0.318 ops/us
[info] CallbackBenchmark.onComplete_16 improved fix N/A N/A 1 thrpt 30 44.359 ± 0.213 ops/us
[info] CallbackBenchmark.onComplete_2 stdlib fjp N/A N/A 1 thrpt 30 28.621 ± 0.230 ops/us
[info] CallbackBenchmark.onComplete_2 stdlib fix N/A N/A 1 thrpt 30 28.640 ± 0.199 ops/us
[info] CallbackBenchmark.onComplete_2 improved fjp N/A N/A 1 thrpt 30 34.008 ± 0.230 ops/us
[info] CallbackBenchmark.onComplete_2 improved fix N/A N/A 1 thrpt 30 33.425 ± 0.241 ops/us
[info] CallbackBenchmark.onComplete_4 stdlib fjp N/A N/A 1 thrpt 30 33.703 ± 0.182 ops/us
[info] CallbackBenchmark.onComplete_4 stdlib fix N/A N/A 1 thrpt 30 33.715 ± 0.229 ops/us
[info] CallbackBenchmark.onComplete_4 improved fjp N/A N/A 1 thrpt 30 39.027 ± 0.268 ops/us
[info] CallbackBenchmark.onComplete_4 improved fix N/A N/A 1 thrpt 30 36.670 ± 0.267 ops/us
[info] CallbackBenchmark.onComplete_64 stdlib fjp N/A N/A 1 thrpt 30 37.859 ± 0.741 ops/us
[info] CallbackBenchmark.onComplete_64 stdlib fix N/A N/A 1 thrpt 30 40.171 ± 0.647 ops/us
[info] CallbackBenchmark.onComplete_64 improved fjp N/A N/A 1 thrpt 30 49.491 ± 0.376 ops/us
[info] CallbackBenchmark.onComplete_64 improved fix N/A N/A 1 thrpt 30 49.445 ± 0.363 ops/us
[info] CallbackBenchmark.onComplete_8192 stdlib fjp N/A N/A 1 thrpt 30 40.593 ± 0.246 ops/us
[info] CallbackBenchmark.onComplete_8192 stdlib fix N/A N/A 1 thrpt 30 39.652 ± 0.241 ops/us
[info] CallbackBenchmark.onComplete_8192 improved fjp N/A N/A 1 thrpt 30 50.681 ± 0.819 ops/us
[info] CallbackBenchmark.onComplete_8192 improved fix N/A N/A 1 thrpt 30 50.725 ± 0.708 ops/us
[info] CompletionBenchmark.tryComplete_1 stdlib N/A N/A success N/A thrpt 30 35.770 ± 0.187 ops/us
[info] CompletionBenchmark.tryComplete_1 stdlib N/A N/A failure N/A thrpt 30 18.842 ± 0.226 ops/us
[info] CompletionBenchmark.tryComplete_1 improved N/A N/A success N/A thrpt 30 37.232 ± 0.229 ops/us
[info] CompletionBenchmark.tryComplete_1 improved N/A N/A failure N/A thrpt 30 21.630 ± 0.097 ops/us
[info] CompletionBenchmark.tryComplete_8192 stdlib N/A N/A success N/A thrpt 30 410.330 ± 2.061 ops/us
[info] CompletionBenchmark.tryComplete_8192 stdlib N/A N/A failure N/A thrpt 30 43.142 ± 0.894 ops/us
[info] CompletionBenchmark.tryComplete_8192 improved N/A N/A success N/A thrpt 30 737.878 ± 3.785 ops/us
[info] CompletionBenchmark.tryComplete_8192 improved N/A N/A failure N/A thrpt 30 732.132 ± 4.137 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_1 stdlib N/A N/A success N/A thrpt 30 3.184 ± 0.023 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_1 stdlib N/A N/A failure N/A thrpt 30 2.797 ± 0.027 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_1 improved N/A N/A success N/A thrpt 30 5.255 ± 0.042 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_1 improved N/A N/A failure N/A thrpt 30 4.393 ± 0.064 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_1024 stdlib N/A N/A success N/A thrpt 30 5.001 ± 0.046 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_1024 stdlib N/A N/A failure N/A thrpt 30 4.405 ± 0.038 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_1024 improved N/A N/A success N/A thrpt 30 7.772 ± 0.199 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_1024 improved N/A N/A failure N/A thrpt 30 7.433 ± 0.084 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_16 stdlib N/A N/A success N/A thrpt 30 4.873 ± 0.030 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_16 stdlib N/A N/A failure N/A thrpt 30 4.406 ± 0.032 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_16 improved N/A N/A success N/A thrpt 30 7.290 ± 0.047 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_16 improved N/A N/A failure N/A thrpt 30 7.085 ± 0.059 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_2 stdlib N/A N/A success N/A thrpt 30 4.269 ± 0.039 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_2 stdlib N/A N/A failure N/A thrpt 30 3.747 ± 0.020 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_2 improved N/A N/A success N/A thrpt 30 6.152 ± 0.035 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_2 improved N/A N/A failure N/A thrpt 30 5.418 ± 0.027 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_4 stdlib N/A N/A success N/A thrpt 30 4.603 ± 0.030 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_4 stdlib N/A N/A failure N/A thrpt 30 3.983 ± 0.035 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_4 improved N/A N/A success N/A thrpt 30 6.752 ± 0.038 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_4 improved N/A N/A failure N/A thrpt 30 5.951 ± 0.140 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_64 stdlib N/A N/A success N/A thrpt 30 4.644 ± 0.049 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_64 stdlib N/A N/A failure N/A thrpt 30 4.404 ± 0.030 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_64 improved N/A N/A success N/A thrpt 30 7.809 ± 0.048 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_64 improved N/A N/A failure N/A thrpt 30 7.661 ± 0.057 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_8192 stdlib N/A N/A success N/A thrpt 30 5.177 ± 0.031 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_8192 stdlib N/A N/A failure N/A thrpt 30 4.492 ± 0.034 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_8192 improved N/A N/A success N/A thrpt 30 7.427 ± 0.082 ops/us
[info] CompletionWithBenchmark.tryCompleteWith_8192 improved N/A N/A failure N/A thrpt 30 7.662 ± 0.062 ops/us
[info] FilterBenchmark.improved_post N/A fjp 1024 N/A 1 thrpt 30 8.892 ± 0.057 ops/ms
[info] FilterBenchmark.improved_post N/A fix 1024 N/A 1 thrpt 30 8.020 ± 0.059 ops/ms
[info] FilterBenchmark.improved_post N/A fie 1024 N/A 1 thrpt 30 20.954 ± 0.116 ops/ms
[info] FilterBenchmark.improved_pre N/A fjp 1024 N/A 1 thrpt 30 9.918 ± 0.103 ops/ms
[info] FilterBenchmark.improved_pre N/A fix 1024 N/A 1 thrpt 30 7.973 ± 0.054 ops/ms
[info] FilterBenchmark.improved_pre N/A fie 1024 N/A 1 thrpt 30 11.554 ± 0.084 ops/ms
[info] FilterBenchmark.stdlib_post N/A fjp 1024 N/A 1 thrpt 30 7.094 ± 0.050 ops/ms
[info] FilterBenchmark.stdlib_post N/A fix 1024 N/A 1 thrpt 30 6.424 ± 0.052 ops/ms
[info] FilterBenchmark.stdlib_post N/A fie 1024 N/A 1 thrpt 30 9.421 ± 0.376 ops/ms
[info] FilterBenchmark.stdlib_pre N/A fjp 1024 N/A 1 thrpt 30 9.090 ± 0.066 ops/ms
[info] FilterBenchmark.stdlib_pre N/A fix 1024 N/A 1 thrpt 30 9.119 ± 0.087 ops/ms
[info] FilterBenchmark.stdlib_pre N/A fie 1024 N/A 1 thrpt 30 6.036 ± 0.040 ops/ms
[info] FlatMapBenchmark.improved_post N/A fjp 1024 N/A 1 thrpt 30 7.860 ± 0.045 ops/ms
[info] FlatMapBenchmark.improved_post N/A fix 1024 N/A 1 thrpt 30 6.823 ± 0.048 ops/ms
[info] FlatMapBenchmark.improved_post N/A fie 1024 N/A 1 thrpt 30 19.014 ± 0.125 ops/ms
[info] FlatMapBenchmark.improved_pre N/A fjp 1024 N/A 1 thrpt 30 10.227 ± 0.035 ops/ms
[info] FlatMapBenchmark.improved_pre N/A fix 1024 N/A 1 thrpt 30 8.447 ± 0.040 ops/ms
[info] FlatMapBenchmark.improved_pre N/A fie 1024 N/A 1 thrpt 30 9.141 ± 0.085 ops/ms
[info] FlatMapBenchmark.stdlib_post N/A fjp 1024 N/A 1 thrpt 30 3.094 ± 0.024 ops/ms
[info] FlatMapBenchmark.stdlib_post N/A fix 1024 N/A 1 thrpt 30 2.991 ± 0.028 ops/ms
[info] FlatMapBenchmark.stdlib_post N/A fie 1024 N/A 1 thrpt 30 9.064 ± 0.150 ops/ms
[info] FlatMapBenchmark.stdlib_pre N/A fjp 1024 N/A 1 thrpt 30 3.791 ± 0.040 ops/ms
[info] FlatMapBenchmark.stdlib_pre N/A fix 1024 N/A 1 thrpt 30 3.186 ± 0.025 ops/ms
[info] FlatMapBenchmark.stdlib_pre N/A fie 1024 N/A 1 thrpt 30 4.056 ± 0.033 ops/ms
[info] LoopBenchmark.improved_post N/A fjp 1024 N/A 1 thrpt 30 646.594 ± 19.639 ops/ms
[info] LoopBenchmark.improved_post N/A fix 1024 N/A 1 thrpt 30 334.330 ± 5.144 ops/ms
[info] LoopBenchmark.improved_post N/A fie 1024 N/A 1 thrpt 30 4072.347 ± 24.316 ops/ms
[info] LoopBenchmark.improved_pre N/A fjp 1024 N/A 1 thrpt 30 759.338 ± 9.861 ops/ms
[info] LoopBenchmark.improved_pre N/A fix 1024 N/A 1 thrpt 30 478.384 ± 17.216 ops/ms
[info] LoopBenchmark.improved_pre N/A fie 1024 N/A 1 thrpt 30 5397.723 ± 52.159 ops/ms
[info] LoopBenchmark.stdlib_post N/A fjp 1024 N/A 1 thrpt 30 539.246 ± 14.650 ops/ms
[info] LoopBenchmark.stdlib_post N/A fix 1024 N/A 1 thrpt 30 339.335 ± 5.080 ops/ms
[info] LoopBenchmark.stdlib_post N/A fie 1024 N/A 1 thrpt 30 2528.564 ± 24.176 ops/ms
[info] LoopBenchmark.stdlib_pre N/A fjp 1024 N/A 1 thrpt 30 735.438 ± 28.316 ops/ms
[info] LoopBenchmark.stdlib_pre N/A fix 1024 N/A 1 thrpt 30 377.440 ± 5.640 ops/ms
[info] LoopBenchmark.stdlib_pre N/A fie 1024 N/A 1 thrpt 30 4050.084 ± 42.613 ops/ms
[info] MapBenchmark.improved_post N/A fjp 1024 N/A 1 thrpt 30 8.727 ± 0.036 ops/ms
[info] MapBenchmark.improved_post N/A fix 1024 N/A 1 thrpt 30 8.097 ± 0.029 ops/ms
[info] MapBenchmark.improved_post N/A fie 1024 N/A 1 thrpt 30 22.299 ± 0.153 ops/ms
[info] MapBenchmark.improved_pre N/A fjp 1024 N/A 1 thrpt 30 11.032 ± 0.047 ops/ms
[info] MapBenchmark.improved_pre N/A fix 1024 N/A 1 thrpt 30 9.403 ± 0.032 ops/ms
[info] MapBenchmark.improved_pre N/A fie 1024 N/A 1 thrpt 30 10.972 ± 0.265 ops/ms
[info] MapBenchmark.stdlib_post N/A fjp 1024 N/A 1 thrpt 30 6.537 ± 0.072 ops/ms
[info] MapBenchmark.stdlib_post N/A fix 1024 N/A 1 thrpt 30 6.586 ± 0.054 ops/ms
[info] MapBenchmark.stdlib_post N/A fie 1024 N/A 1 thrpt 30 14.646 ± 0.122 ops/ms
[info] MapBenchmark.stdlib_pre N/A fjp 1024 N/A 1 thrpt 30 9.444 ± 0.060 ops/ms
[info] MapBenchmark.stdlib_pre N/A fix 1024 N/A 1 thrpt 30 8.838 ± 0.089 ops/ms
[info] MapBenchmark.stdlib_pre N/A fie 1024 N/A 1 thrpt 30 6.177 ± 0.058 ops/ms
[info] NoopBenchmark.improved_post N/A fjp 1024 N/A 1 thrpt 30 39460.059 ± 319.250 ops/ms
[info] NoopBenchmark.improved_post N/A fix 1024 N/A 1 thrpt 30 39419.224 ± 332.673 ops/ms
[info] NoopBenchmark.improved_post N/A fie 1024 N/A 1 thrpt 30 38560.118 ± 554.044 ops/ms
[info] NoopBenchmark.improved_pre N/A fjp 1024 N/A 1 thrpt 30 178376.694 ± 1055.498 ops/ms
[info] NoopBenchmark.improved_pre N/A fix 1024 N/A 1 thrpt 30 179431.714 ± 1061.807 ops/ms
[info] NoopBenchmark.improved_pre N/A fie 1024 N/A 1 thrpt 30 178385.219 ± 1848.113 ops/ms
[info] NoopBenchmark.stdlib_post N/A fjp 1024 N/A 1 thrpt 30 37340.770 ± 145.750 ops/ms
[info] NoopBenchmark.stdlib_post N/A fix 1024 N/A 1 thrpt 30 37415.219 ± 221.621 ops/ms
[info] NoopBenchmark.stdlib_post N/A fie 1024 N/A 1 thrpt 30 38040.782 ± 168.022 ops/ms
[info] NoopBenchmark.stdlib_pre N/A fjp 1024 N/A 1 thrpt 30 191963.589 ± 1245.839 ops/ms
[info] NoopBenchmark.stdlib_pre N/A fix 1024 N/A 1 thrpt 30 182222.708 ± 2409.320 ops/ms
[info] NoopBenchmark.stdlib_pre N/A fie 1024 N/A 1 thrpt 30 190181.241 ± 3580.224 ops/ms
[info] TransformBenchmark.improved_post N/A fjp 1024 N/A 1 thrpt 30 8.848 ± 0.038 ops/ms
[info] TransformBenchmark.improved_post N/A fix 1024 N/A 1 thrpt 30 8.412 ± 0.033 ops/ms
[info] TransformBenchmark.improved_post N/A fie 1024 N/A 1 thrpt 30 27.353 ± 0.202 ops/ms
[info] TransformBenchmark.improved_pre N/A fjp 1024 N/A 1 thrpt 30 10.381 ± 0.052 ops/ms
[info] TransformBenchmark.improved_pre N/A fix 1024 N/A 1 thrpt 30 9.622 ± 0.081 ops/ms
[info] TransformBenchmark.improved_pre N/A fie 1024 N/A 1 thrpt 30 11.864 ± 0.065 ops/ms
[info] TransformBenchmark.stdlib_post N/A fjp 1024 N/A 1 thrpt 30 7.914 ± 0.050 ops/ms
[info] TransformBenchmark.stdlib_post N/A fix 1024 N/A 1 thrpt 30 7.527 ± 0.037 ops/ms
[info] TransformBenchmark.stdlib_post N/A fie 1024 N/A 1 thrpt 30 15.830 ± 0.130 ops/ms
[info] TransformBenchmark.stdlib_pre N/A fjp 1024 N/A 1 thrpt 30 11.911 ± 0.105 ops/ms
[info] TransformBenchmark.stdlib_pre N/A fix 1024 N/A 1 thrpt 30 9.818 ± 0.120 ops/ms
[info] TransformBenchmark.stdlib_pre N/A fie 1024 N/A 1 thrpt 30 6.562 ± 0.044 ops/ms
[info] TransformWithBenchmark.improved_post N/A fjp 1024 N/A 1 thrpt 30 7.807 ± 0.032 ops/ms
[info] TransformWithBenchmark.improved_post N/A fix 1024 N/A 1 thrpt 30 7.050 ± 0.035 ops/ms
[info] TransformWithBenchmark.improved_post N/A fie 1024 N/A 1 thrpt 30 21.171 ± 0.142 ops/ms
[info] TransformWithBenchmark.improved_pre N/A fjp 1024 N/A 1 thrpt 30 10.480 ± 0.078 ops/ms
[info] TransformWithBenchmark.improved_pre N/A fix 1024 N/A 1 thrpt 30 8.511 ± 0.032 ops/ms
[info] TransformWithBenchmark.improved_pre N/A fie 1024 N/A 1 thrpt 30 10.904 ± 0.071 ops/ms
[info] TransformWithBenchmark.stdlib_post N/A fjp 1024 N/A 1 thrpt 30 3.364 ± 0.034 ops/ms
[info] TransformWithBenchmark.stdlib_post N/A fix 1024 N/A 1 thrpt 30 3.217 ± 0.031 ops/ms
[info] TransformWithBenchmark.stdlib_post N/A fie 1024 N/A 1 thrpt 30 11.598 ± 0.080 ops/ms
[info] TransformWithBenchmark.stdlib_pre N/A fjp 1024 N/A 1 thrpt 30 3.993 ± 0.023 ops/ms
[info] TransformWithBenchmark.stdlib_pre N/A fix 1024 N/A 1 thrpt 30 3.642 ± 0.035 ops/ms
[info] TransformWithBenchmark.stdlib_pre N/A fie 1024 N/A 1 thrpt 30 4.439 ± 0.061 ops/ms
[info] VariousBenchmark.improved_post N/A fjp 1024 N/A 1 thrpt 30 0.932 ± 0.006 ops/ms
[info] VariousBenchmark.improved_post N/A fix 1024 N/A 1 thrpt 30 0.859 ± 0.006 ops/ms
[info] VariousBenchmark.improved_post N/A fie 1024 N/A 1 thrpt 30 1.714 ± 0.008 ops/ms
[info] VariousBenchmark.improved_pre N/A fjp 1024 N/A 1 thrpt 30 1.197 ± 0.008 ops/ms
[info] VariousBenchmark.improved_pre N/A fix 1024 N/A 1 thrpt 30 0.960 ± 0.009 ops/ms
[info] VariousBenchmark.improved_pre N/A fie 1024 N/A 1 thrpt 30 1.133 ± 0.008 ops/ms
[info] VariousBenchmark.stdlib_post N/A fjp 1024 N/A 1 thrpt 30 0.705 ± 0.005 ops/ms
[info] VariousBenchmark.stdlib_post N/A fix 1024 N/A 1 thrpt 30 0.695 ± 0.004 ops/ms
[info] VariousBenchmark.stdlib_post N/A fie 1024 N/A 1 thrpt 30 1.519 ± 0.016 ops/ms
[info] VariousBenchmark.stdlib_pre N/A fjp 1024 N/A 1 thrpt 30 0.847 ± 0.007 ops/ms
[info] VariousBenchmark.stdlib_pre N/A fix 1024 N/A 1 thrpt 30 0.784 ± 0.007 ops/ms
[info] VariousBenchmark.stdlib_pre N/A fie 1024 N/A 1 thrpt 30 0.623 ± 0.008 ops/ms
[info] ZipWithBenchmark.improved_post N/A fjp 1024 N/A 1 thrpt 30 3.972 ± 0.033 ops/ms
[info] ZipWithBenchmark.improved_post N/A fix 1024 N/A 1 thrpt 30 3.499 ± 0.017 ops/ms
[info] ZipWithBenchmark.improved_post N/A fie 1024 N/A 1 thrpt 30 7.944 ± 0.179 ops/ms
[info] ZipWithBenchmark.improved_pre N/A fjp 1024 N/A 1 thrpt 30 4.035 ± 0.028 ops/ms
[info] ZipWithBenchmark.improved_pre N/A fix 1024 N/A 1 thrpt 30 3.948 ± 0.022 ops/ms
[info] ZipWithBenchmark.improved_pre N/A fie 1024 N/A 1 thrpt 30 5.579 ± 0.035 ops/ms
[info] ZipWithBenchmark.stdlib_post N/A fjp 1024 N/A 1 thrpt 30 2.966 ± 0.024 ops/ms
[info] ZipWithBenchmark.stdlib_post N/A fix 1024 N/A 1 thrpt 30 2.749 ± 0.022 ops/ms
[info] ZipWithBenchmark.stdlib_post N/A fie 1024 N/A 1 thrpt 30 8.479 ± 0.070 ops/ms
[info] ZipWithBenchmark.stdlib_pre N/A fjp 1024 N/A 1 thrpt 30 3.107 ± 0.019 ops/ms
[info] ZipWithBenchmark.stdlib_pre N/A fix 1024 N/A 1 thrpt 30 2.979 ± 0.018 ops/ms
[info] ZipWithBenchmark.stdlib_pre N/A fie 1024 N/A 1 thrpt 30 4.150 ± 0.104 ops/ms
[info] scala.future.AndThenBenchmark.improved_post_pool=fie_recursion=1024_threads=1 24 ops/ms
[info] scala.future.AndThenBenchmark.improved_post_pool=fix_recursion=1024_threads=1 8 ops/ms
[info] scala.future.AndThenBenchmark.improved_post_pool=fjp_recursion=1024_threads=1 9 ops/ms
[info] scala.future.AndThenBenchmark.improved_pre_pool=fie_recursion=1024_threads=1 10 ops/ms
[info] scala.future.AndThenBenchmark.improved_pre_pool=fix_recursion=1024_threads=1 8 ops/ms
[info] scala.future.AndThenBenchmark.improved_pre_pool=fjp_recursion=1024_threads=1 12 ops/ms
[info] scala.future.AndThenBenchmark.stdlib_post_pool=fie_recursion=1024_threads=1 15 ops/ms
[info] scala.future.AndThenBenchmark.stdlib_post_pool=fix_recursion=1024_threads=1 7 ops/ms
[info] scala.future.AndThenBenchmark.stdlib_post_pool=fjp_recursion=1024_threads=1 8 ops/ms
[info] scala.future.AndThenBenchmark.stdlib_pre_pool=fie_recursion=1024_threads=1 5 ops/ms
[info] scala.future.AndThenBenchmark.stdlib_pre_pool=fix_recursion=1024_threads=1 9 ops/ms
[info] scala.future.AndThenBenchmark.stdlib_pre_pool=fjp_recursion=1024_threads=1 9 ops/ms
[info] scala.future.CallbackBenchmark.onComplete_1024_impl=improved_pool=fix_threads=1 50 ops/us
[info] scala.future.CallbackBenchmark.onComplete_1024_impl=improved_pool=fjp_threads=1 50 ops/us
[info] scala.future.CallbackBenchmark.onComplete_1024_impl=stdlib_pool=fix_threads=1 40 ops/us
[info] scala.future.CallbackBenchmark.onComplete_1024_impl=stdlib_pool=fjp_threads=1 40 ops/us
[info] scala.future.CallbackBenchmark.onComplete_16_impl=improved_pool=fix_threads=1 44 ops/us
[info] scala.future.CallbackBenchmark.onComplete_16_impl=improved_pool=fjp_threads=1 44 ops/us
[info] scala.future.CallbackBenchmark.onComplete_16_impl=stdlib_pool=fix_threads=1 39 ops/us
[info] scala.future.CallbackBenchmark.onComplete_16_impl=stdlib_pool=fjp_threads=1 39 ops/us
[info] scala.future.CallbackBenchmark.onComplete_1_impl=improved_pool=fix_threads=1 26 ops/us
[info] scala.future.CallbackBenchmark.onComplete_1_impl=improved_pool=fjp_threads=1 25 ops/us
[info] scala.future.CallbackBenchmark.onComplete_1_impl=stdlib_pool=fix_threads=1 23 ops/us
[info] scala.future.CallbackBenchmark.onComplete_1_impl=stdlib_pool=fjp_threads=1 23 ops/us
[info] scala.future.CallbackBenchmark.onComplete_2_impl=improved_pool=fix_threads=1 33 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=fix_threads=1 29 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=fix_threads=1 37 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=fix_threads=1 34 ops/us
[info] scala.future.CallbackBenchmark.onComplete_4_impl=stdlib_pool=fjp_threads=1 34 ops/us
[info] scala.future.CallbackBenchmark.onComplete_64_impl=improved_pool=fix_threads=1 49 ops/us
[info] scala.future.CallbackBenchmark.onComplete_64_impl=improved_pool=fjp_threads=1 49 ops/us
[info] scala.future.CallbackBenchmark.onComplete_64_impl=stdlib_pool=fix_threads=1 40 ops/us
[info] scala.future.CallbackBenchmark.onComplete_64_impl=stdlib_pool=fjp_threads=1 38 ops/us
[info] scala.future.CallbackBenchmark.onComplete_8192_impl=improved_pool=fix_threads=1 51 ops/us
[info] scala.future.CallbackBenchmark.onComplete_8192_impl=improved_pool=fjp_threads=1 51 ops/us
[info] scala.future.CallbackBenchmark.onComplete_8192_impl=stdlib_pool=fix_threads=1 40 ops/us
[info] scala.future.CallbackBenchmark.onComplete_8192_impl=stdlib_pool=fjp_threads=1 41 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_1_impl=improved_result=failure 22 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_1_impl=improved_result=success 37 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 36 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_8192_impl=improved_result=failure 732 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_8192_impl=improved_result=success 738 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_8192_impl=stdlib_result=failure 43 ops/us
[info] scala.future.CompletionBenchmark.tryComplete_8192_impl=stdlib_result=success 410 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_1024_impl=improved_result=failure 7 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 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 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 5 ops/us
[info] scala.future.CompletionWithBenchmark.tryCompleteWith_64_impl=improved_result=failure 8 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 7 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] scala.future.FilterBenchmark.improved_post_pool=fie_recursion=1024_threads=1 21 ops/ms
[info] scala.future.FilterBenchmark.improved_post_pool=fix_recursion=1024_threads=1 8 ops/ms
[info] scala.future.FilterBenchmark.improved_post_pool=fjp_recursion=1024_threads=1 9 ops/ms
[info] scala.future.FilterBenchmark.improved_pre_pool=fie_recursion=1024_threads=1 12 ops/ms
[info] scala.future.FilterBenchmark.improved_pre_pool=fix_recursion=1024_threads=1 8 ops/ms
[info] scala.future.FilterBenchmark.improved_pre_pool=fjp_recursion=1024_threads=1 10 ops/ms
[info] scala.future.FilterBenchmark.stdlib_post_pool=fie_recursion=1024_threads=1 9 ops/ms
[info] scala.future.FilterBenchmark.stdlib_post_pool=fix_recursion=1024_threads=1 6 ops/ms
[info] scala.future.FilterBenchmark.stdlib_post_pool=fjp_recursion=1024_threads=1 7 ops/ms
[info] scala.future.FilterBenchmark.stdlib_pre_pool=fie_recursion=1024_threads=1 6 ops/ms
[info] scala.future.FilterBenchmark.stdlib_pre_pool=fix_recursion=1024_threads=1 9 ops/ms
[info] scala.future.FilterBenchmark.stdlib_pre_pool=fjp_recursion=1024_threads=1 9 ops/ms
[info] scala.future.FlatMapBenchmark.improved_post_pool=fie_recursion=1024_threads=1 19 ops/ms
[info] scala.future.FlatMapBenchmark.improved_post_pool=fix_recursion=1024_threads=1 7 ops/ms
[info] scala.future.FlatMapBenchmark.improved_post_pool=fjp_recursion=1024_threads=1 8 ops/ms
[info] scala.future.FlatMapBenchmark.improved_pre_pool=fie_recursion=1024_threads=1 9 ops/ms
[info] scala.future.FlatMapBenchmark.improved_pre_pool=fix_recursion=1024_threads=1 8 ops/ms
[info] scala.future.FlatMapBenchmark.improved_pre_pool=fjp_recursion=1024_threads=1 10 ops/ms
[info] scala.future.FlatMapBenchmark.stdlib_post_pool=fie_recursion=1024_threads=1 9 ops/ms
[info] scala.future.FlatMapBenchmark.stdlib_post_pool=fix_recursion=1024_threads=1 3 ops/ms
[info] scala.future.FlatMapBenchmark.stdlib_post_pool=fjp_recursion=1024_threads=1 3 ops/ms
[info] scala.future.FlatMapBenchmark.stdlib_pre_pool=fie_recursion=1024_threads=1 4 ops/ms
[info] scala.future.FlatMapBenchmark.stdlib_pre_pool=fix_recursion=1024_threads=1 3 ops/ms
[info] scala.future.FlatMapBenchmark.stdlib_pre_pool=fjp_recursion=1024_threads=1 4 ops/ms
[info] scala.future.LoopBenchmark.improved_post_pool=fie_recursion=1024_threads=1 4072 ops/ms
[info] scala.future.LoopBenchmark.improved_post_pool=fix_recursion=1024_threads=1 334 ops/ms
[info] scala.future.LoopBenchmark.improved_post_pool=fjp_recursion=1024_threads=1 647 ops/ms
[info] scala.future.LoopBenchmark.improved_pre_pool=fie_recursion=1024_threads=1 5398 ops/ms
[info] scala.future.LoopBenchmark.improved_pre_pool=fix_recursion=1024_threads=1 478 ops/ms
[info] scala.future.LoopBenchmark.improved_pre_pool=fjp_recursion=1024_threads=1 759 ops/ms
[info] scala.future.LoopBenchmark.stdlib_post_pool=fie_recursion=1024_threads=1 2529 ops/ms
[info] scala.future.LoopBenchmark.stdlib_post_pool=fix_recursion=1024_threads=1 339 ops/ms
[info] scala.future.LoopBenchmark.stdlib_post_pool=fjp_recursion=1024_threads=1 539 ops/ms
[info] scala.future.LoopBenchmark.stdlib_pre_pool=fie_recursion=1024_threads=1 4050 ops/ms
[info] scala.future.LoopBenchmark.stdlib_pre_pool=fix_recursion=1024_threads=1 377 ops/ms
[info] scala.future.LoopBenchmark.stdlib_pre_pool=fjp_recursion=1024_threads=1 735 ops/ms
[info] scala.future.MapBenchmark.improved_post_pool=fie_recursion=1024_threads=1 22 ops/ms
[info] scala.future.MapBenchmark.improved_post_pool=fix_recursion=1024_threads=1 8 ops/ms
[info] scala.future.MapBenchmark.improved_post_pool=fjp_recursion=1024_threads=1 9 ops/ms
[info] scala.future.MapBenchmark.improved_pre_pool=fie_recursion=1024_threads=1 11 ops/ms
[info] scala.future.MapBenchmark.improved_pre_pool=fix_recursion=1024_threads=1 9 ops/ms
[info] scala.future.MapBenchmark.improved_pre_pool=fjp_recursion=1024_threads=1 11 ops/ms
[info] scala.future.MapBenchmark.stdlib_post_pool=fie_recursion=1024_threads=1 15 ops/ms
[info] scala.future.MapBenchmark.stdlib_post_pool=fix_recursion=1024_threads=1 7 ops/ms
[info] scala.future.MapBenchmark.stdlib_post_pool=fjp_recursion=1024_threads=1 7 ops/ms
[info] scala.future.MapBenchmark.stdlib_pre_pool=fie_recursion=1024_threads=1 6 ops/ms
[info] scala.future.MapBenchmark.stdlib_pre_pool=fix_recursion=1024_threads=1 9 ops/ms
[info] scala.future.MapBenchmark.stdlib_pre_pool=fjp_recursion=1024_threads=1 9 ops/ms
[info] scala.future.NoopBenchmark.improved_post_pool=fie_recursion=1024_threads=1 38560 ops/ms
[info] scala.future.NoopBenchmark.improved_post_pool=fix_recursion=1024_threads=1 39419 ops/ms
[info] scala.future.NoopBenchmark.improved_post_pool=fjp_recursion=1024_threads=1 39460 ops/ms
[info] scala.future.NoopBenchmark.improved_pre_pool=fie_recursion=1024_threads=1 178385 ops/ms
[info] scala.future.NoopBenchmark.improved_pre_pool=fix_recursion=1024_threads=1 179432 ops/ms
[info] scala.future.NoopBenchmark.improved_pre_pool=fjp_recursion=1024_threads=1 178377 ops/ms
[info] scala.future.NoopBenchmark.stdlib_post_pool=fie_recursion=1024_threads=1 38041 ops/ms
[info] scala.future.NoopBenchmark.stdlib_post_pool=fix_recursion=1024_threads=1 37415 ops/ms
[info] scala.future.NoopBenchmark.stdlib_post_pool=fjp_recursion=1024_threads=1 37341 ops/ms
[info] scala.future.NoopBenchmark.stdlib_pre_pool=fie_recursion=1024_threads=1 190181 ops/ms
[info] scala.future.NoopBenchmark.stdlib_pre_pool=fix_recursion=1024_threads=1 182223 ops/ms
[info] scala.future.NoopBenchmark.stdlib_pre_pool=fjp_recursion=1024_threads=1 191964 ops/ms
[info] scala.future.TransformBenchmark.improved_post_pool=fie_recursion=1024_threads=1 27 ops/ms
[info] scala.future.TransformBenchmark.improved_post_pool=fix_recursion=1024_threads=1 8 ops/ms
[info] scala.future.TransformBenchmark.improved_post_pool=fjp_recursion=1024_threads=1 9 ops/ms
[info] scala.future.TransformBenchmark.improved_pre_pool=fie_recursion=1024_threads=1 12 ops/ms
[info] scala.future.TransformBenchmark.improved_pre_pool=fix_recursion=1024_threads=1 10 ops/ms
[info] scala.future.TransformBenchmark.improved_pre_pool=fjp_recursion=1024_threads=1 10 ops/ms
[info] scala.future.TransformBenchmark.stdlib_post_pool=fie_recursion=1024_threads=1 16 ops/ms
[info] scala.future.TransformBenchmark.stdlib_post_pool=fix_recursion=1024_threads=1 8 ops/ms
[info] scala.future.TransformBenchmark.stdlib_post_pool=fjp_recursion=1024_threads=1 8 ops/ms
[info] scala.future.TransformBenchmark.stdlib_pre_pool=fie_recursion=1024_threads=1 7 ops/ms
[info] scala.future.TransformBenchmark.stdlib_pre_pool=fix_recursion=1024_threads=1 10 ops/ms
[info] scala.future.TransformBenchmark.stdlib_pre_pool=fjp_recursion=1024_threads=1 12 ops/ms
[info] scala.future.TransformWithBenchmark.improved_post_pool=fie_recursion=1024_threads=1 21 ops/ms
[info] scala.future.TransformWithBenchmark.improved_post_pool=fix_recursion=1024_threads=1 7 ops/ms
[info] scala.future.TransformWithBenchmark.improved_post_pool=fjp_recursion=1024_threads=1 8 ops/ms
[info] scala.future.TransformWithBenchmark.improved_pre_pool=fie_recursion=1024_threads=1 11 ops/ms
[info] scala.future.TransformWithBenchmark.improved_pre_pool=fix_recursion=1024_threads=1 9 ops/ms
[info] scala.future.TransformWithBenchmark.improved_pre_pool=fjp_recursion=1024_threads=1 10 ops/ms
[info] scala.future.TransformWithBenchmark.stdlib_post_pool=fie_recursion=1024_threads=1 12 ops/ms
[info] scala.future.TransformWithBenchmark.stdlib_post_pool=fix_recursion=1024_threads=1 3 ops/ms
[info] scala.future.TransformWithBenchmark.stdlib_post_pool=fjp_recursion=1024_threads=1 3 ops/ms
[info] scala.future.TransformWithBenchmark.stdlib_pre_pool=fie_recursion=1024_threads=1 4 ops/ms
[info] scala.future.TransformWithBenchmark.stdlib_pre_pool=fix_recursion=1024_threads=1 4 ops/ms
[info] scala.future.TransformWithBenchmark.stdlib_pre_pool=fjp_recursion=1024_threads=1 4 ops/ms
[info] scala.future.VariousBenchmark.improved_post_pool=fie_recursion=1024_threads=1 2 ops/ms
[info] scala.future.VariousBenchmark.improved_post_pool=fix_recursion=1024_threads=1 1 ops/ms
[info] scala.future.VariousBenchmark.improved_post_pool=fjp_recursion=1024_threads=1 1 ops/ms
[info] scala.future.VariousBenchmark.improved_pre_pool=fie_recursion=1024_threads=1 1 ops/ms
[info] scala.future.VariousBenchmark.improved_pre_pool=fix_recursion=1024_threads=1 1 ops/ms
[info] scala.future.VariousBenchmark.improved_pre_pool=fjp_recursion=1024_threads=1 1 ops/ms
[info] scala.future.VariousBenchmark.stdlib_post_pool=fie_recursion=1024_threads=1 2 ops/ms
[info] scala.future.VariousBenchmark.stdlib_post_pool=fix_recursion=1024_threads=1 1 ops/ms
[info] scala.future.VariousBenchmark.stdlib_post_pool=fjp_recursion=1024_threads=1 1 ops/ms
[info] scala.future.VariousBenchmark.stdlib_pre_pool=fie_recursion=1024_threads=1 1 ops/ms
[info] scala.future.VariousBenchmark.stdlib_pre_pool=fix_recursion=1024_threads=1 1 ops/ms
[info] scala.future.VariousBenchmark.stdlib_pre_pool=fjp_recursion=1024_threads=1 1 ops/ms
[info] scala.future.ZipWithBenchmark.improved_post_pool=fie_recursion=1024_threads=1 8 ops/ms
[info] scala.future.ZipWithBenchmark.improved_post_pool=fix_recursion=1024_threads=1 3 ops/ms
[info] scala.future.ZipWithBenchmark.improved_post_pool=fjp_recursion=1024_threads=1 4 ops/ms
[info] scala.future.ZipWithBenchmark.improved_pre_pool=fie_recursion=1024_threads=1 6 ops/ms
[info] scala.future.ZipWithBenchmark.improved_pre_pool=fix_recursion=1024_threads=1 4 ops/ms
[info] scala.future.ZipWithBenchmark.improved_pre_pool=fjp_recursion=1024_threads=1 4 ops/ms
[info] scala.future.ZipWithBenchmark.stdlib_post_pool=fie_recursion=1024_threads=1 8 ops/ms
[info] scala.future.ZipWithBenchmark.stdlib_post_pool=fix_recursion=1024_threads=1 3 ops/ms
[info] scala.future.ZipWithBenchmark.stdlib_post_pool=fjp_recursion=1024_threads=1 3 ops/ms
[info] scala.future.ZipWithBenchmark.stdlib_pre_pool=fie_recursion=1024_threads=1 4 ops/ms
[info] scala.future.ZipWithBenchmark.stdlib_pre_pool=fix_recursion=1024_threads=1 3 ops/ms
[info] scala.future.ZipWithBenchmark.stdlib_pre_pool=fjp_recursion=1024_threads=1 3 ops/ms
[success] Total time: 8381 s, completed Jan 31, 2018 1:31:23 AM
sbt:benches>
Thanks @ktoso!
Looks like some nice improvements basically across the board. I am looking at some more potential improvements. Will ping you as soon as I have something to demo.
-- Cheers, √
On Jan 30, 2018 17:40, "ktoso" [email protected] wrote:
Some of the final run results from running sbt:benches> jmh:runMain scala.future.BenchRunner -p impl=stdlib,improved -p threads=1 -p completed=pre,post -i 30 -wi 15 -f 1 -t 1 .*
cpu: Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz (HT enabled) memory: 16G DDR4 2400Mhz (Dell XPS15, mid 2017)
Did not review the changes in the branch yet though, just let it running on the side, let me know how I can help ;)
[info] # Run complete. Total time: 02:19:39 [info] Benchmark (impl) (pool) (recursion) (result) (threads) Mode Cnt Score Error Units [info] AndThenBenchmark.improved_post N/A fjp 1024 N/A 1 thrpt 30 9.442 ± 0.058 ops/ms [info] AndThenBenchmark.improved_post N/A fix 1024 N/A 1 thrpt 30 7.916 ± 0.037 ops/ms [info] AndThenBenchmark.improved_post N/A fie 1024 N/A 1 thrpt 30 23.577 ± 0.135 ops/ms [info] AndThenBenchmark.improved_pre N/A fjp 1024 N/A 1 thrpt 30 12.072 ± 0.079 ops/ms [info] AndThenBenchmark.improved_pre N/A fix 1024 N/A 1 thrpt 30 7.779 ± 0.156 ops/ms [info] AndThenBenchmark.improved_pre N/A fie 1024 N/A 1 thrpt 30 10.143 ± 0.057 ops/ms [info] AndThenBenchmark.stdlib_post N/A fjp 1024 N/A 1 thrpt 30 7.888 ± 0.080 ops/ms [info] AndThenBenchmark.stdlib_post N/A fix 1024 N/A 1 thrpt 30 7.141 ± 0.057 ops/ms [info] AndThenBenchmark.stdlib_post N/A fie 1024 N/A 1 thrpt 30 15.335 ± 0.394 ops/ms [info] AndThenBenchmark.stdlib_pre N/A fjp 1024 N/A 1 thrpt 30 9.327 ± 0.061 ops/ms [info] AndThenBenchmark.stdlib_pre N/A fix 1024 N/A 1 thrpt 30 9.131 ± 0.058 ops/ms [info] AndThenBenchmark.stdlib_pre N/A fie 1024 N/A 1 thrpt 30 5.247 ± 0.045 ops/ms [info] CallbackBenchmark.onComplete_1 stdlib fjp N/A N/A 1 thrpt 30 23.235 ± 0.184 ops/us [info] CallbackBenchmark.onComplete_1 stdlib fix N/A N/A 1 thrpt 30 23.120 ± 0.158 ops/us [info] CallbackBenchmark.onComplete_1 improved fjp N/A N/A 1 thrpt 30 25.113 ± 0.175 ops/us [info] CallbackBenchmark.onComplete_1 improved fix N/A N/A 1 thrpt 30 25.800 ± 0.588 ops/us [info] CallbackBenchmark.onComplete_1024 stdlib fjp N/A N/A 1 thrpt 30 39.628 ± 0.226 ops/us [info] CallbackBenchmark.onComplete_1024 stdlib fix N/A N/A 1 thrpt 30 39.641 ± 0.254 ops/us [info] CallbackBenchmark.onComplete_1024 improved fjp N/A N/A 1 thrpt 30 49.798 ± 0.408 ops/us [info] CallbackBenchmark.onComplete_1024 improved fix N/A N/A 1 thrpt 30 49.822 ± 0.367 ops/us [info] CallbackBenchmark.onComplete_16 stdlib fjp N/A N/A 1 thrpt 30 38.818 ± 0.270 ops/us [info] CallbackBenchmark.onComplete_16 stdlib fix N/A N/A 1 thrpt 30 38.806 ± 0.205 ops/us [info] CallbackBenchmark.onComplete_16 improved fjp N/A N/A 1 thrpt 30 44.299 ± 0.318 ops/us [info] CallbackBenchmark.onComplete_16 improved fix N/A N/A 1 thrpt 30 44.359 ± 0.213 ops/us [info] CallbackBenchmark.onComplete_2 stdlib fjp N/A N/A 1 thrpt 30 28.621 ± 0.230 ops/us [info] CallbackBenchmark.onComplete_2 stdlib fix N/A N/A 1 thrpt 30 28.640 ± 0.199 ops/us [info] CallbackBenchmark.onComplete_2 improved fjp N/A N/A 1 thrpt 30 34.008 ± 0.230 ops/us [info] CallbackBenchmark.onComplete_2 improved fix N/A N/A 1 thrpt 30 33.425 ± 0.241 ops/us [info] CallbackBenchmark.onComplete_4 stdlib fjp N/A N/A 1 thrpt 30 33.703 ± 0.182 ops/us [info] CallbackBenchmark.onComplete_4 stdlib fix N/A N/A 1 thrpt 30 33.715 ± 0.229 ops/us [info] CallbackBenchmark.onComplete_4 improved fjp N/A N/A 1 thrpt 30 39.027 ± 0.268 ops/us [info] CallbackBenchmark.onComplete_4 improved fix N/A N/A 1 thrpt 30 36.670 ± 0.267 ops/us [info] CallbackBenchmark.onComplete_64 stdlib fjp N/A N/A 1 thrpt 30 37.859 ± 0.741 ops/us [info] CallbackBenchmark.onComplete_64 stdlib fix N/A N/A 1 thrpt 30 40.171 ± 0.647 ops/us [info] CallbackBenchmark.onComplete_64 improved fjp N/A N/A 1 thrpt 30 49.491 ± 0.376 ops/us [info] CallbackBenchmark.onComplete_64 improved fix N/A N/A 1 thrpt 30 49.445 ± 0.363 ops/us [info] CallbackBenchmark.onComplete_8192 stdlib fjp N/A N/A 1 thrpt 30 40.593 ± 0.246 ops/us [info] CallbackBenchmark.onComplete_8192 stdlib fix N/A N/A 1 thrpt 30 39.652 ± 0.241 ops/us [info] CallbackBenchmark.onComplete_8192 improved fjp N/A N/A 1 thrpt 30 50.681 ± 0.819 ops/us [info] CallbackBenchmark.onComplete_8192 improved fix N/A N/A 1 thrpt 30 50.725 ± 0.708 ops/us [info] CompletionBenchmark.tryComplete_1 stdlib N/A N/A success N/A thrpt 30 35.770 ± 0.187 ops/us [info] CompletionBenchmark.tryComplete_1 stdlib N/A N/A failure N/A thrpt 30 18.842 ± 0.226 ops/us [info] CompletionBenchmark.tryComplete_1 improved N/A N/A success N/A thrpt 30 37.232 ± 0.229 ops/us [info] CompletionBenchmark.tryComplete_1 improved N/A N/A failure N/A thrpt 30 21.630 ± 0.097 ops/us [info] CompletionBenchmark.tryComplete_8192 stdlib N/A N/A success N/A thrpt 30 410.330 ± 2.061 ops/us [info] CompletionBenchmark.tryComplete_8192 stdlib N/A N/A failure N/A thrpt 30 43.142 ± 0.894 ops/us [info] CompletionBenchmark.tryComplete_8192 improved N/A N/A success N/A thrpt 30 737.878 ± 3.785 ops/us [info] CompletionBenchmark.tryComplete_8192 improved N/A N/A failure N/A thrpt 30 732.132 ± 4.137 ops/us [info] CompletionWithBenchmark.tryCompleteWith_1 stdlib N/A N/A success N/A thrpt 30 3.184 ± 0.023 ops/us [info] CompletionWithBenchmark.tryCompleteWith_1 stdlib N/A N/A failure N/A thrpt 30 2.797 ± 0.027 ops/us [info] CompletionWithBenchmark.tryCompleteWith_1 improved N/A N/A success N/A thrpt 30 5.255 ± 0.042 ops/us [info] CompletionWithBenchmark.tryCompleteWith_1 improved N/A N/A failure N/A thrpt 30 4.393 ± 0.064 ops/us [info] CompletionWithBenchmark.tryCompleteWith_1024 stdlib N/A N/A success N/A thrpt 30 5.001 ± 0.046 ops/us [info] CompletionWithBenchmark.tryCompleteWith_1024 stdlib N/A N/A failure N/A thrpt 30 4.405 ± 0.038 ops/us [info] CompletionWithBenchmark.tryCompleteWith_1024 improved N/A N/A success N/A thrpt 30 7.772 ± 0.199 ops/us [info] CompletionWithBenchmark.tryCompleteWith_1024 improved N/A N/A failure N/A thrpt 30 7.433 ± 0.084 ops/us [info] CompletionWithBenchmark.tryCompleteWith_16 stdlib N/A N/A success N/A thrpt 30 4.873 ± 0.030 ops/us [info] CompletionWithBenchmark.tryCompleteWith_16 stdlib N/A N/A failure N/A thrpt 30 4.406 ± 0.032 ops/us [info] CompletionWithBenchmark.tryCompleteWith_16 improved N/A N/A success N/A thrpt 30 7.290 ± 0.047 ops/us [info] CompletionWithBenchmark.tryCompleteWith_16 improved N/A N/A failure N/A thrpt 30 7.085 ± 0.059 ops/us [info] CompletionWithBenchmark.tryCompleteWith_2 stdlib N/A N/A success N/A thrpt 30 4.269 ± 0.039 ops/us [info] CompletionWithBenchmark.tryCompleteWith_2 stdlib N/A N/A failure N/A thrpt 30 3.747 ± 0.020 ops/us [info] CompletionWithBenchmark.tryCompleteWith_2 improved N/A N/A success N/A thrpt 30 6.152 ± 0.035 ops/us [info] CompletionWithBenchmark.tryCompleteWith_2 improved N/A N/A failure N/A thrpt 30 5.418 ± 0.027 ops/us [info] CompletionWithBenchmark.tryCompleteWith_4 stdlib N/A N/A success N/A thrpt 30 4.603 ± 0.030 ops/us [info] CompletionWithBenchmark.tryCompleteWith_4 stdlib N/A N/A failure N/A thrpt 30 3.983 ± 0.035 ops/us [info] CompletionWithBenchmark.tryCompleteWith_4 improved N/A N/A success N/A thrpt 30 6.752 ± 0.038 ops/us [info] CompletionWithBenchmark.tryCompleteWith_4 improved N/A N/A failure N/A thrpt 30 5.951 ± 0.140 ops/us [info] CompletionWithBenchmark.tryCompleteWith_64 stdlib N/A N/A success N/A thrpt 30 4.644 ± 0.049 ops/us [info] CompletionWithBenchmark.tryCompleteWith_64 stdlib N/A N/A failure N/A thrpt 30 4.404 ± 0.030 ops/us [info] CompletionWithBenchmark.tryCompleteWith_64 improved N/A N/A success N/A thrpt 30 7.809 ± 0.048 ops/us [info] CompletionWithBenchmark.tryCompleteWith_64 improved N/A N/A failure N/A thrpt 30 7.661 ± 0.057 ops/us [info] CompletionWithBenchmark.tryCompleteWith_8192 stdlib N/A N/A success N/A thrpt 30 5.177 ± 0.031 ops/us [info] CompletionWithBenchmark.tryCompleteWith_8192 stdlib N/A N/A failure N/A thrpt 30 4.492 ± 0.034 ops/us [info] CompletionWithBenchmark.tryCompleteWith_8192 improved N/A N/A success N/A thrpt 30 7.427 ± 0.082 ops/us [info] CompletionWithBenchmark.tryCompleteWith_8192 improved N/A N/A failure N/A thrpt 30 7.662 ± 0.062 ops/us [info] FilterBenchmark.improved_post N/A fjp 1024 N/A 1 thrpt 30 8.892 ± 0.057 ops/ms [info] FilterBenchmark.improved_post N/A fix 1024 N/A 1 thrpt 30 8.020 ± 0.059 ops/ms [info] FilterBenchmark.improved_post N/A fie 1024 N/A 1 thrpt 30 20.954 ± 0.116 ops/ms [info] FilterBenchmark.improved_pre N/A fjp 1024 N/A 1 thrpt 30 9.918 ± 0.103 ops/ms [info] FilterBenchmark.improved_pre N/A fix 1024 N/A 1 thrpt 30 7.973 ± 0.054 ops/ms [info] FilterBenchmark.improved_pre N/A fie 1024 N/A 1 thrpt 30 11.554 ± 0.084 ops/ms [info] FilterBenchmark.stdlib_post N/A fjp 1024 N/A 1 thrpt 30 7.094 ± 0.050 ops/ms [info] FilterBenchmark.stdlib_post N/A fix 1024 N/A 1 thrpt 30 6.424 ± 0.052 ops/ms [info] FilterBenchmark.stdlib_post N/A fie 1024 N/A 1 thrpt 30 9.421 ± 0.376 ops/ms [info] FilterBenchmark.stdlib_pre N/A fjp 1024 N/A 1 thrpt 30 9.090 ± 0.066 ops/ms [info] FilterBenchmark.stdlib_pre N/A fix 1024 N/A 1 thrpt 30 9.119 ± 0.087 ops/ms [info] FilterBenchmark.stdlib_pre N/A fie 1024 N/A 1 thrpt 30 6.036 ± 0.040 ops/ms [info] FlatMapBenchmark.improved_post N/A fjp 1024 N/A 1 thrpt 30 7.860 ± 0.045 ops/ms [info] FlatMapBenchmark.improved_post N/A fix 1024 N/A 1 thrpt 30 6.823 ± 0.048 ops/ms [info] FlatMapBenchmark.improved_post N/A fie 1024 N/A 1 thrpt 30 19.014 ± 0.125 ops/ms [info] FlatMapBenchmark.improved_pre N/A fjp 1024 N/A 1 thrpt 30 10.227 ± 0.035 ops/ms [info] FlatMapBenchmark.improved_pre N/A fix 1024 N/A 1 thrpt 30 8.447 ± 0.040 ops/ms [info] FlatMapBenchmark.improved_pre N/A fie 1024 N/A 1 thrpt 30 9.141 ± 0.085 ops/ms [info] FlatMapBenchmark.stdlib_post N/A fjp 1024 N/A 1 thrpt 30 3.094 ± 0.024 ops/ms [info] FlatMapBenchmark.stdlib_post N/A fix 1024 N/A 1 thrpt 30 2.991 ± 0.028 ops/ms [info] FlatMapBenchmark.stdlib_post N/A fie 1024 N/A 1 thrpt 30 9.064 ± 0.150 ops/ms [info] FlatMapBenchmark.stdlib_pre N/A fjp 1024 N/A 1 thrpt 30 3.791 ± 0.040 ops/ms [info] FlatMapBenchmark.stdlib_pre N/A fix 1024 N/A 1 thrpt 30 3.186 ± 0.025 ops/ms [info] FlatMapBenchmark.stdlib_pre N/A fie 1024 N/A 1 thrpt 30 4.056 ± 0.033 ops/ms [info] LoopBenchmark.improved_post N/A fjp 1024 N/A 1 thrpt 30 646.594 ± 19.639 ops/ms [info] LoopBenchmark.improved_post N/A fix 1024 N/A 1 thrpt 30 334.330 ± 5.144 ops/ms [info] LoopBenchmark.improved_post N/A fie 1024 N/A 1 thrpt 30 4072.347 ± 24.316 ops/ms [info] LoopBenchmark.improved_pre N/A fjp 1024 N/A 1 thrpt 30 759.338 ± 9.861 ops/ms [info] LoopBenchmark.improved_pre N/A fix 1024 N/A 1 thrpt 30 478.384 ± 17.216 ops/ms [info] LoopBenchmark.improved_pre N/A fie 1024 N/A 1 thrpt 30 5397.723 ± 52.159 ops/ms [info] LoopBenchmark.stdlib_post N/A fjp 1024 N/A 1 thrpt 30 539.246 ± 14.650 ops/ms [info] LoopBenchmark.stdlib_post N/A fix 1024 N/A 1 thrpt 30 339.335 ± 5.080 ops/ms [info] LoopBenchmark.stdlib_post N/A fie 1024 N/A 1 thrpt 30 2528.564 ± 24.176 ops/ms [info] LoopBenchmark.stdlib_pre N/A fjp 1024 N/A 1 thrpt 30 735.438 ± 28.316 ops/ms [info] LoopBenchmark.stdlib_pre N/A fix 1024 N/A 1 thrpt 30 377.440 ± 5.640 ops/ms [info] LoopBenchmark.stdlib_pre N/A fie 1024 N/A 1 thrpt 30 4050.084 ± 42.613 ops/ms [info] MapBenchmark.improved_post N/A fjp 1024 N/A 1 thrpt 30 8.727 ± 0.036 ops/ms [info] MapBenchmark.improved_post N/A fix 1024 N/A 1 thrpt 30 8.097 ± 0.029 ops/ms [info] MapBenchmark.improved_post N/A fie 1024 N/A 1 thrpt 30 22.299 ± 0.153 ops/ms [info] MapBenchmark.improved_pre N/A fjp 1024 N/A 1 thrpt 30 11.032 ± 0.047 ops/ms [info] MapBenchmark.improved_pre N/A fix 1024 N/A 1 thrpt 30 9.403 ± 0.032 ops/ms [info] MapBenchmark.improved_pre N/A fie 1024 N/A 1 thrpt 30 10.972 ± 0.265 ops/ms [info] MapBenchmark.stdlib_post N/A fjp 1024 N/A 1 thrpt 30 6.537 ± 0.072 ops/ms [info] MapBenchmark.stdlib_post N/A fix 1024 N/A 1 thrpt 30 6.586 ± 0.054 ops/ms [info] MapBenchmark.stdlib_post N/A fie 1024 N/A 1 thrpt 30 14.646 ± 0.122 ops/ms [info] MapBenchmark.stdlib_pre N/A fjp 1024 N/A 1 thrpt 30 9.444 ± 0.060 ops/ms [info] MapBenchmark.stdlib_pre N/A fix 1024 N/A 1 thrpt 30 8.838 ± 0.089 ops/ms [info] MapBenchmark.stdlib_pre N/A fie 1024 N/A 1 thrpt 30 6.177 ± 0.058 ops/ms [info] NoopBenchmark.improved_post N/A fjp 1024 N/A 1 thrpt 30 39460.059 ± 319.250 ops/ms [info] NoopBenchmark.improved_post N/A fix 1024 N/A 1 thrpt 30 39419.224 ± 332.673 ops/ms [info] NoopBenchmark.improved_post N/A fie 1024 N/A 1 thrpt 30 38560.118 ± 554.044 ops/ms [info] NoopBenchmark.improved_pre N/A fjp 1024 N/A 1 thrpt 30 178376.694 ± 1055.498 ops/ms [info] NoopBenchmark.improved_pre N/A fix 1024 N/A 1 thrpt 30 179431.714 ± 1061.807 ops/ms [info] NoopBenchmark.improved_pre N/A fie 1024 N/A 1 thrpt 30 178385.219 ± 1848.113 ops/ms [info] NoopBenchmark.stdlib_post N/A fjp 1024 N/A 1 thrpt 30 37340.770 ± 145.750 ops/ms [info] NoopBenchmark.stdlib_post N/A fix 1024 N/A 1 thrpt 30 37415.219 ± 221.621 ops/ms [info] NoopBenchmark.stdlib_post N/A fie 1024 N/A 1 thrpt 30 38040.782 ± 168.022 ops/ms [info] NoopBenchmark.stdlib_pre N/A fjp 1024 N/A 1 thrpt 30 191963.589 ± 1245.839 ops/ms [info] NoopBenchmark.stdlib_pre N/A fix 1024 N/A 1 thrpt 30 182222.708 ± 2409.320 ops/ms [info] NoopBenchmark.stdlib_pre N/A fie 1024 N/A 1 thrpt 30 190181.241 ± 3580.224 ops/ms [info] TransformBenchmark.improved_post N/A fjp 1024 N/A 1 thrpt 30 8.848 ± 0.038 ops/ms [info] TransformBenchmark.improved_post N/A fix 1024 N/A 1 thrpt 30 8.412 ± 0.033 ops/ms [info] TransformBenchmark.improved_post N/A fie 1024 N/A 1 thrpt 30 27.353 ± 0.202 ops/ms [info] TransformBenchmark.improved_pre N/A fjp 1024 N/A 1 thrpt 30 10.381 ± 0.052 ops/ms [info] TransformBenchmark.improved_pre N/A fix 1024 N/A 1 thrpt 30 9.622 ± 0.081 ops/ms [info] TransformBenchmark.improved_pre N/A fie 1024 N/A 1 thrpt 30 11.864 ± 0.065 ops/ms [info] TransformBenchmark.stdlib_post N/A fjp 1024 N/A 1 thrpt 30 7.914 ± 0.050 ops/ms [info] TransformBenchmark.stdlib_post N/A fix 1024 N/A 1 thrpt 30 7.527 ± 0.037 ops/ms [info] TransformBenchmark.stdlib_post N/A fie 1024 N/A 1 thrpt 30 15.830 ± 0.130 ops/ms [info] TransformBenchmark.stdlib_pre N/A fjp 1024 N/A 1 thrpt 30 11.911 ± 0.105 ops/ms [info] TransformBenchmark.stdlib_pre N/A fix 1024 N/A 1 thrpt 30 9.818 ± 0.120 ops/ms [info] TransformBenchmark.stdlib_pre N/A fie 1024 N/A 1 thrpt 30 6.562 ± 0.044 ops/ms [info] TransformWithBenchmark.improved_post N/A fjp 1024 N/A 1 thrpt 30 7.807 ± 0.032 ops/ms [info] TransformWithBenchmark.improved_post N/A fix 1024 N/A 1 thrpt 30 7.050 ± 0.035 ops/ms [info] TransformWithBenchmark.improved_post N/A fie 1024 N/A 1 thrpt 30 21.171 ± 0.142 ops/ms [info] TransformWithBenchmark.improved_pre N/A fjp 1024 N/A 1 thrpt 30 10.480 ± 0.078 ops/ms [info] TransformWithBenchmark.improved_pre N/A fix 1024 N/A 1 thrpt 30 8.511 ± 0.032 ops/ms [info] TransformWithBenchmark.improved_pre N/A fie 1024 N/A 1 thrpt 30 10.904 ± 0.071 ops/ms [info] TransformWithBenchmark.stdlib_post N/A fjp 1024 N/A 1 thrpt 30 3.364 ± 0.034 ops/ms [info] TransformWithBenchmark.stdlib_post N/A fix 1024 N/A 1 thrpt 30 3.217 ± 0.031 ops/ms [info] TransformWithBenchmark.stdlib_post N/A fie 1024 N/A 1 thrpt 30 11.598 ± 0.080 ops/ms [info] TransformWithBenchmark.stdlib_pre N/A fjp 1024 N/A 1 thrpt 30 3.993 ± 0.023 ops/ms [info] TransformWithBenchmark.stdlib_pre N/A fix 1024 N/A 1 thrpt 30 3.642 ± 0.035 ops/ms [info] TransformWithBenchmark.stdlib_pre N/A fie 1024 N/A 1 thrpt 30 4.439 ± 0.061 ops/ms [info] VariousBenchmark.improved_post N/A fjp 1024 N/A 1 thrpt 30 0.932 ± 0.006 ops/ms [info] VariousBenchmark.improved_post N/A fix 1024 N/A 1 thrpt 30 0.859 ± 0.006 ops/ms [info] VariousBenchmark.improved_post N/A fie 1024 N/A 1 thrpt 30 1.714 ± 0.008 ops/ms [info] VariousBenchmark.improved_pre N/A fjp 1024 N/A 1 thrpt 30 1.197 ± 0.008 ops/ms [info] VariousBenchmark.improved_pre N/A fix 1024 N/A 1 thrpt 30 0.960 ± 0.009 ops/ms [info] VariousBenchmark.improved_pre N/A fie 1024 N/A 1 thrpt 30 1.133 ± 0.008 ops/ms [info] VariousBenchmark.stdlib_post N/A fjp 1024 N/A 1 thrpt 30 0.705 ± 0.005 ops/ms [info] VariousBenchmark.stdlib_post N/A fix 1024 N/A 1 thrpt 30 0.695 ± 0.004 ops/ms [info] VariousBenchmark.stdlib_post N/A fie 1024 N/A 1 thrpt 30 1.519 ± 0.016 ops/ms [info] VariousBenchmark.stdlib_pre N/A fjp 1024 N/A 1 thrpt 30 0.847 ± 0.007 ops/ms [info] VariousBenchmark.stdlib_pre N/A fix 1024 N/A 1 thrpt 30 0.784 ± 0.007 ops/ms [info] VariousBenchmark.stdlib_pre N/A fie 1024 N/A 1 thrpt 30 0.623 ± 0.008 ops/ms [info] ZipWithBenchmark.improved_post N/A fjp 1024 N/A 1 thrpt 30 3.972 ± 0.033 ops/ms [info] ZipWithBenchmark.improved_post N/A fix 1024 N/A 1 thrpt 30 3.499 ± 0.017 ops/ms [info] ZipWithBenchmark.improved_post N/A fie 1024 N/A 1 thrpt 30 7.944 ± 0.179 ops/ms [info] ZipWithBenchmark.improved_pre N/A fjp 1024 N/A 1 thrpt 30 4.035 ± 0.028 ops/ms [info] ZipWithBenchmark.improved_pre N/A fix 1024 N/A 1 thrpt 30 3.948 ± 0.022 ops/ms [info] ZipWithBenchmark.improved_pre N/A fie 1024 N/A 1 thrpt 30 5.579 ± 0.035 ops/ms [info] ZipWithBenchmark.stdlib_post N/A fjp 1024 N/A 1 thrpt 30 2.966 ± 0.024 ops/ms [info] ZipWithBenchmark.stdlib_post N/A fix 1024 N/A 1 thrpt 30 2.749 ± 0.022 ops/ms [info] ZipWithBenchmark.stdlib_post N/A fie 1024 N/A 1 thrpt 30 8.479 ± 0.070 ops/ms [info] ZipWithBenchmark.stdlib_pre N/A fjp 1024 N/A 1 thrpt 30 3.107 ± 0.019 ops/ms [info] ZipWithBenchmark.stdlib_pre N/A fix 1024 N/A 1 thrpt 30 2.979 ± 0.018 ops/ms [info] ZipWithBenchmark.stdlib_pre N/A fie 1024 N/A 1 thrpt 30 4.150 ± 0.104 ops/ms [info] scala.future.AndThenBenchmark.improved_post_pool=fie_recursion=1024_threads=1 24 ops/ms [info] scala.future.AndThenBenchmark.improved_post_pool=fix_recursion=1024_threads=1 8 ops/ms [info] scala.future.AndThenBenchmark.improved_post_pool=fjp_recursion=1024_threads=1 9 ops/ms [info] scala.future.AndThenBenchmark.improved_pre_pool=fie_recursion=1024_threads=1 10 ops/ms [info] scala.future.AndThenBenchmark.improved_pre_pool=fix_recursion=1024_threads=1 8 ops/ms [info] scala.future.AndThenBenchmark.improved_pre_pool=fjp_recursion=1024_threads=1 12 ops/ms [info] scala.future.AndThenBenchmark.stdlib_post_pool=fie_recursion=1024_threads=1 15 ops/ms [info] scala.future.AndThenBenchmark.stdlib_post_pool=fix_recursion=1024_threads=1 7 ops/ms [info] scala.future.AndThenBenchmark.stdlib_post_pool=fjp_recursion=1024_threads=1 8 ops/ms [info] scala.future.AndThenBenchmark.stdlib_pre_pool=fie_recursion=1024_threads=1 5 ops/ms [info] scala.future.AndThenBenchmark.stdlib_pre_pool=fix_recursion=1024_threads=1 9 ops/ms [info] scala.future.AndThenBenchmark.stdlib_pre_pool=fjp_recursion=1024_threads=1 9 ops/ms [info] scala.future.CallbackBenchmark.onComplete_1024_impl=improved_pool=fix_threads=1 50 ops/us [info] scala.future.CallbackBenchmark.onComplete_1024_impl=improved_pool=fjp_threads=1 50 ops/us [info] scala.future.CallbackBenchmark.onComplete_1024_impl=stdlib_pool=fix_threads=1 40 ops/us [info] scala.future.CallbackBenchmark.onComplete_1024_impl=stdlib_pool=fjp_threads=1 40 ops/us [info] scala.future.CallbackBenchmark.onComplete_16_impl=improved_pool=fix_threads=1 44 ops/us [info] scala.future.CallbackBenchmark.onComplete_16_impl=improved_pool=fjp_threads=1 44 ops/us [info] scala.future.CallbackBenchmark.onComplete_16_impl=stdlib_pool=fix_threads=1 39 ops/us [info] scala.future.CallbackBenchmark.onComplete_16_impl=stdlib_pool=fjp_threads=1 39 ops/us [info] scala.future.CallbackBenchmark.onComplete_1_impl=improved_pool=fix_threads=1 26 ops/us [info] scala.future.CallbackBenchmark.onComplete_1_impl=improved_pool=fjp_threads=1 25 ops/us [info] scala.future.CallbackBenchmark.onComplete_1_impl=stdlib_pool=fix_threads=1 23 ops/us [info] scala.future.CallbackBenchmark.onComplete_1_impl=stdlib_pool=fjp_threads=1 23 ops/us [info] scala.future.CallbackBenchmark.onComplete_2_impl=improved_pool=fix_threads=1 33 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=fix_threads=1 29 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=fix_threads=1 37 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=fix_threads=1 34 ops/us [info] scala.future.CallbackBenchmark.onComplete_4_impl=stdlib_pool=fjp_threads=1 34 ops/us [info] scala.future.CallbackBenchmark.onComplete_64_impl=improved_pool=fix_threads=1 49 ops/us [info] scala.future.CallbackBenchmark.onComplete_64_impl=improved_pool=fjp_threads=1 49 ops/us [info] scala.future.CallbackBenchmark.onComplete_64_impl=stdlib_pool=fix_threads=1 40 ops/us [info] scala.future.CallbackBenchmark.onComplete_64_impl=stdlib_pool=fjp_threads=1 38 ops/us [info] scala.future.CallbackBenchmark.onComplete_8192_impl=improved_pool=fix_threads=1 51 ops/us [info] scala.future.CallbackBenchmark.onComplete_8192_impl=improved_pool=fjp_threads=1 51 ops/us [info] scala.future.CallbackBenchmark.onComplete_8192_impl=stdlib_pool=fix_threads=1 40 ops/us [info] scala.future.CallbackBenchmark.onComplete_8192_impl=stdlib_pool=fjp_threads=1 41 ops/us [info] scala.future.CompletionBenchmark.tryComplete_1_impl=improved_result=failure 22 ops/us [info] scala.future.CompletionBenchmark.tryComplete_1_impl=improved_result=success 37 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 36 ops/us [info] scala.future.CompletionBenchmark.tryComplete_8192_impl=improved_result=failure 732 ops/us [info] scala.future.CompletionBenchmark.tryComplete_8192_impl=improved_result=success 738 ops/us [info] scala.future.CompletionBenchmark.tryComplete_8192_impl=stdlib_result=failure 43 ops/us [info] scala.future.CompletionBenchmark.tryComplete_8192_impl=stdlib_result=success 410 ops/us [info] scala.future.CompletionWithBenchmark.tryCompleteWith_1024_impl=improved_result=failure 7 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 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 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 5 ops/us [info] scala.future.CompletionWithBenchmark.tryCompleteWith_64_impl=improved_result=failure 8 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 7 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] scala.future.FilterBenchmark.improved_post_pool=fie_recursion=1024_threads=1 21 ops/ms [info] scala.future.FilterBenchmark.improved_post_pool=fix_recursion=1024_threads=1 8 ops/ms [info] scala.future.FilterBenchmark.improved_post_pool=fjp_recursion=1024_threads=1 9 ops/ms [info] scala.future.FilterBenchmark.improved_pre_pool=fie_recursion=1024_threads=1 12 ops/ms [info] scala.future.FilterBenchmark.improved_pre_pool=fix_recursion=1024_threads=1 8 ops/ms [info] scala.future.FilterBenchmark.improved_pre_pool=fjp_recursion=1024_threads=1 10 ops/ms [info] scala.future.FilterBenchmark.stdlib_post_pool=fie_recursion=1024_threads=1 9 ops/ms [info] scala.future.FilterBenchmark.stdlib_post_pool=fix_recursion=1024_threads=1 6 ops/ms [info] scala.future.FilterBenchmark.stdlib_post_pool=fjp_recursion=1024_threads=1 7 ops/ms [info] scala.future.FilterBenchmark.stdlib_pre_pool=fie_recursion=1024_threads=1 6 ops/ms [info] scala.future.FilterBenchmark.stdlib_pre_pool=fix_recursion=1024_threads=1 9 ops/ms [info] scala.future.FilterBenchmark.stdlib_pre_pool=fjp_recursion=1024_threads=1 9 ops/ms [info] scala.future.FlatMapBenchmark.improved_post_pool=fie_recursion=1024_threads=1 19 ops/ms [info] scala.future.FlatMapBenchmark.improved_post_pool=fix_recursion=1024_threads=1 7 ops/ms [info] scala.future.FlatMapBenchmark.improved_post_pool=fjp_recursion=1024_threads=1 8 ops/ms [info] scala.future.FlatMapBenchmark.improved_pre_pool=fie_recursion=1024_threads=1 9 ops/ms [info] scala.future.FlatMapBenchmark.improved_pre_pool=fix_recursion=1024_threads=1 8 ops/ms [info] scala.future.FlatMapBenchmark.improved_pre_pool=fjp_recursion=1024_threads=1 10 ops/ms [info] scala.future.FlatMapBenchmark.stdlib_post_pool=fie_recursion=1024_threads=1 9 ops/ms [info] scala.future.FlatMapBenchmark.stdlib_post_pool=fix_recursion=1024_threads=1 3 ops/ms [info] scala.future.FlatMapBenchmark.stdlib_post_pool=fjp_recursion=1024_threads=1 3 ops/ms [info] scala.future.FlatMapBenchmark.stdlib_pre_pool=fie_recursion=1024_threads=1 4 ops/ms [info] scala.future.FlatMapBenchmark.stdlib_pre_pool=fix_recursion=1024_threads=1 3 ops/ms [info] scala.future.FlatMapBenchmark.stdlib_pre_pool=fjp_recursion=1024_threads=1 4 ops/ms [info] scala.future.LoopBenchmark.improved_post_pool=fie_recursion=1024_threads=1 4072 ops/ms [info] scala.future.LoopBenchmark.improved_post_pool=fix_recursion=1024_threads=1 334 ops/ms [info] scala.future.LoopBenchmark.improved_post_pool=fjp_recursion=1024_threads=1 647 ops/ms [info] scala.future.LoopBenchmark.improved_pre_pool=fie_recursion=1024_threads=1 5398 ops/ms [info] scala.future.LoopBenchmark.improved_pre_pool=fix_recursion=1024_threads=1 478 ops/ms [info] scala.future.LoopBenchmark.improved_pre_pool=fjp_recursion=1024_threads=1 759 ops/ms [info] scala.future.LoopBenchmark.stdlib_post_pool=fie_recursion=1024_threads=1 2529 ops/ms [info] scala.future.LoopBenchmark.stdlib_post_pool=fix_recursion=1024_threads=1 339 ops/ms [info] scala.future.LoopBenchmark.stdlib_post_pool=fjp_recursion=1024_threads=1 539 ops/ms [info] scala.future.LoopBenchmark.stdlib_pre_pool=fie_recursion=1024_threads=1 4050 ops/ms [info] scala.future.LoopBenchmark.stdlib_pre_pool=fix_recursion=1024_threads=1 377 ops/ms [info] scala.future.LoopBenchmark.stdlib_pre_pool=fjp_recursion=1024_threads=1 735 ops/ms [info] scala.future.MapBenchmark.improved_post_pool=fie_recursion=1024_threads=1 22 ops/ms [info] scala.future.MapBenchmark.improved_post_pool=fix_recursion=1024_threads=1 8 ops/ms [info] scala.future.MapBenchmark.improved_post_pool=fjp_recursion=1024_threads=1 9 ops/ms [info] scala.future.MapBenchmark.improved_pre_pool=fie_recursion=1024_threads=1 11 ops/ms [info] scala.future.MapBenchmark.improved_pre_pool=fix_recursion=1024_threads=1 9 ops/ms [info] scala.future.MapBenchmark.improved_pre_pool=fjp_recursion=1024_threads=1 11 ops/ms [info] scala.future.MapBenchmark.stdlib_post_pool=fie_recursion=1024_threads=1 15 ops/ms [info] scala.future.MapBenchmark.stdlib_post_pool=fix_recursion=1024_threads=1 7 ops/ms [info] scala.future.MapBenchmark.stdlib_post_pool=fjp_recursion=1024_threads=1 7 ops/ms [info] scala.future.MapBenchmark.stdlib_pre_pool=fie_recursion=1024_threads=1 6 ops/ms [info] scala.future.MapBenchmark.stdlib_pre_pool=fix_recursion=1024_threads=1 9 ops/ms [info] scala.future.MapBenchmark.stdlib_pre_pool=fjp_recursion=1024_threads=1 9 ops/ms [info] scala.future.NoopBenchmark.improved_post_pool=fie_recursion=1024_threads=1 38560 ops/ms [info] scala.future.NoopBenchmark.improved_post_pool=fix_recursion=1024_threads=1 39419 ops/ms [info] scala.future.NoopBenchmark.improved_post_pool=fjp_recursion=1024_threads=1 39460 ops/ms [info] scala.future.NoopBenchmark.improved_pre_pool=fie_recursion=1024_threads=1 178385 ops/ms [info] scala.future.NoopBenchmark.improved_pre_pool=fix_recursion=1024_threads=1 179432 ops/ms [info] scala.future.NoopBenchmark.improved_pre_pool=fjp_recursion=1024_threads=1 178377 ops/ms [info] scala.future.NoopBenchmark.stdlib_post_pool=fie_recursion=1024_threads=1 38041 ops/ms [info] scala.future.NoopBenchmark.stdlib_post_pool=fix_recursion=1024_threads=1 37415 ops/ms [info] scala.future.NoopBenchmark.stdlib_post_pool=fjp_recursion=1024_threads=1 37341 ops/ms [info] scala.future.NoopBenchmark.stdlib_pre_pool=fie_recursion=1024_threads=1 190181 ops/ms [info] scala.future.NoopBenchmark.stdlib_pre_pool=fix_recursion=1024_threads=1 182223 ops/ms [info] scala.future.NoopBenchmark.stdlib_pre_pool=fjp_recursion=1024_threads=1 191964 ops/ms [info] scala.future.TransformBenchmark.improved_post_pool=fie_recursion=1024_threads=1 27 ops/ms [info] scala.future.TransformBenchmark.improved_post_pool=fix_recursion=1024_threads=1 8 ops/ms [info] scala.future.TransformBenchmark.improved_post_pool=fjp_recursion=1024_threads=1 9 ops/ms [info] scala.future.TransformBenchmark.improved_pre_pool=fie_recursion=1024_threads=1 12 ops/ms [info] scala.future.TransformBenchmark.improved_pre_pool=fix_recursion=1024_threads=1 10 ops/ms [info] scala.future.TransformBenchmark.improved_pre_pool=fjp_recursion=1024_threads=1 10 ops/ms [info] scala.future.TransformBenchmark.stdlib_post_pool=fie_recursion=1024_threads=1 16 ops/ms [info] scala.future.TransformBenchmark.stdlib_post_pool=fix_recursion=1024_threads=1 8 ops/ms [info] scala.future.TransformBenchmark.stdlib_post_pool=fjp_recursion=1024_threads=1 8 ops/ms [info] scala.future.TransformBenchmark.stdlib_pre_pool=fie_recursion=1024_threads=1 7 ops/ms [info] scala.future.TransformBenchmark.stdlib_pre_pool=fix_recursion=1024_threads=1 10 ops/ms [info] scala.future.TransformBenchmark.stdlib_pre_pool=fjp_recursion=1024_threads=1 12 ops/ms [info] scala.future.TransformWithBenchmark.improved_post_pool=fie_recursion=1024_threads=1 21 ops/ms [info] scala.future.TransformWithBenchmark.improved_post_pool=fix_recursion=1024_threads=1 7 ops/ms [info] scala.future.TransformWithBenchmark.improved_post_pool=fjp_recursion=1024_threads=1 8 ops/ms [info] scala.future.TransformWithBenchmark.improved_pre_pool=fie_recursion=1024_threads=1 11 ops/ms [info] scala.future.TransformWithBenchmark.improved_pre_pool=fix_recursion=1024_threads=1 9 ops/ms [info] scala.future.TransformWithBenchmark.improved_pre_pool=fjp_recursion=1024_threads=1 10 ops/ms [info] scala.future.TransformWithBenchmark.stdlib_post_pool=fie_recursion=1024_threads=1 12 ops/ms [info] scala.future.TransformWithBenchmark.stdlib_post_pool=fix_recursion=1024_threads=1 3 ops/ms [info] scala.future.TransformWithBenchmark.stdlib_post_pool=fjp_recursion=1024_threads=1 3 ops/ms [info] scala.future.TransformWithBenchmark.stdlib_pre_pool=fie_recursion=1024_threads=1 4 ops/ms [info] scala.future.TransformWithBenchmark.stdlib_pre_pool=fix_recursion=1024_threads=1 4 ops/ms [info] scala.future.TransformWithBenchmark.stdlib_pre_pool=fjp_recursion=1024_threads=1 4 ops/ms [info] scala.future.VariousBenchmark.improved_post_pool=fie_recursion=1024_threads=1 2 ops/ms [info] scala.future.VariousBenchmark.improved_post_pool=fix_recursion=1024_threads=1 1 ops/ms [info] scala.future.VariousBenchmark.improved_post_pool=fjp_recursion=1024_threads=1 1 ops/ms [info] scala.future.VariousBenchmark.improved_pre_pool=fie_recursion=1024_threads=1 1 ops/ms [info] scala.future.VariousBenchmark.improved_pre_pool=fix_recursion=1024_threads=1 1 ops/ms [info] scala.future.VariousBenchmark.improved_pre_pool=fjp_recursion=1024_threads=1 1 ops/ms [info] scala.future.VariousBenchmark.stdlib_post_pool=fie_recursion=1024_threads=1 2 ops/ms [info] scala.future.VariousBenchmark.stdlib_post_pool=fix_recursion=1024_threads=1 1 ops/ms [info] scala.future.VariousBenchmark.stdlib_post_pool=fjp_recursion=1024_threads=1 1 ops/ms [info] scala.future.VariousBenchmark.stdlib_pre_pool=fie_recursion=1024_threads=1 1 ops/ms [info] scala.future.VariousBenchmark.stdlib_pre_pool=fix_recursion=1024_threads=1 1 ops/ms [info] scala.future.VariousBenchmark.stdlib_pre_pool=fjp_recursion=1024_threads=1 1 ops/ms [info] scala.future.ZipWithBenchmark.improved_post_pool=fie_recursion=1024_threads=1 8 ops/ms [info] scala.future.ZipWithBenchmark.improved_post_pool=fix_recursion=1024_threads=1 3 ops/ms [info] scala.future.ZipWithBenchmark.improved_post_pool=fjp_recursion=1024_threads=1 4 ops/ms [info] scala.future.ZipWithBenchmark.improved_pre_pool=fie_recursion=1024_threads=1 6 ops/ms [info] scala.future.ZipWithBenchmark.improved_pre_pool=fix_recursion=1024_threads=1 4 ops/ms [info] scala.future.ZipWithBenchmark.improved_pre_pool=fjp_recursion=1024_threads=1 4 ops/ms [info] scala.future.ZipWithBenchmark.stdlib_post_pool=fie_recursion=1024_threads=1 8 ops/ms [info] scala.future.ZipWithBenchmark.stdlib_post_pool=fix_recursion=1024_threads=1 3 ops/ms [info] scala.future.ZipWithBenchmark.stdlib_post_pool=fjp_recursion=1024_threads=1 3 ops/ms [info] scala.future.ZipWithBenchmark.stdlib_pre_pool=fie_recursion=1024_threads=1 4 ops/ms [info] scala.future.ZipWithBenchmark.stdlib_pre_pool=fix_recursion=1024_threads=1 3 ops/ms [info] scala.future.ZipWithBenchmark.stdlib_pre_pool=fjp_recursion=1024_threads=1 3 ops/ms [success] Total time: 8381 s, completed Jan 31, 2018 1:31:23 AM sbt:benches>
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/viktorklang/scala-futures/issues/3, or mute the thread https://github.com/notifications/unsubscribe-auth/AAAqd5xskHXFficgPqQKkt6Q2Cx5gKbTks5tP0YLgaJpZM4Ryowu .
If you’d want review I can have time set aside for it (no japanese lessons => more time).
There are some main things I want to try to tackle:
- Investigate possibility to cheaply remive Links when the linked promise is completed
- Investigate possibility of not having to wrap most operations to fit into transform/transformWith, but without having to introduce more subclasses of XformPromise
- Investigate possibility of pruning callbacks which are never needed instead of dispatching noops. (Imagine adding a recover op to a future which then gets successfully completed
- Investigate the InternalCallbackExecutors optimality beyond current version
- Investigate alternatives to the ManyCallbacks class. I did a 4-way finger trie earlier but the added complexity was not justifiable
I should probably add all this as issues in this repo.
@ktoso I just pushed a new commit to the wip-optimizations-√ branch, not super happy with the code style, but it seems a bit more performant yet.
I'll have a look.
Could you fix this comment to not re-include all the results? https://github.com/viktorklang/scala-futures/issues/3#issuecomment-362012253 painful to scroll through it
@ktoso Absolutely. Fixed. I just pushed a new commit which is pretty cool. Interested to see how it performs on your machine. (https://github.com/viktorklang/scala-futures/commit/a28f2e84b2b1e9fc40c511e16614a645d2651bcf)
@ktoso There's a weird performance regression in firstCompletedOf:
[info] Benchmark (pool) (recursion) (threads) Mode Cnt Score Error Units
[info] FirstCompletedOfBenchmark.improved_post fjp 192 1 thrpt 20 0.499 ± 0.014 ops/ms
[info] FirstCompletedOfBenchmark.improved_pre fjp 192 1 thrpt 20 0.503 ± 0.009 ops/ms
[info] FirstCompletedOfBenchmark.stdlib_post fjp 192 1 thrpt 20 16.732 ± 0.138 ops/ms
[info] FirstCompletedOfBenchmark.stdlib_pre fjp 192 1 thrpt 20 15.674 ± 0.298 ops/ms
@ktoso Found it. And fixed it.
[info] Benchmark (pool) (recursion) (threads) Mode Cnt Score Error Units
[info] FirstCompletedOfBenchmark.improved_post fjp 192 1 thrpt 20 18.858 ± 0.224 ops/ms
[info] FirstCompletedOfBenchmark.improved_pre fjp 192 1 thrpt 20 19.792 ± 0.258 ops/ms
[info] FirstCompletedOfBenchmark.stdlib_post fjp 192 1 thrpt 20 16.015 ± 0.261 ops/ms
[info] FirstCompletedOfBenchmark.stdlib_pre fjp 192 1 thrpt 20 16.340 ± 0.188 ops/ms
Cool, though sadly I did not take that machine with me to europe. Can bench on it next week again. Hopping on a plane to Stockholm now
Thanks for the commit, will have a look :)
@ktoso Pushed another update.
Cool, will now look into it a bit :)
Back at the beefy box. Thanks for the overview of the new design back in Sweden btw, was good! Hope to get some time to play around as well, we'll see :)
What would you like me to run? The main run nowadays is a bit less benchmarks it seems (they're pretty quick):
[info] Benchmark (impl) (result) Mode Cnt Score Error Units
[info] CallbackBenchmark.onComplete_1 stdlib N/A ss 30 10024.833 ± 3704.747 ns/op
[info] CallbackBenchmark.onComplete_1 improved N/A ss 30 3407.233 ± 1112.089 ns/op
[info] CallbackBenchmark.onComplete_16 stdlib N/A ss 30 60349.433 ± 20220.314 ns/op
[info] CallbackBenchmark.onComplete_16 improved N/A ss 30 21378.567 ± 6773.998 ns/op
[info] CallbackBenchmark.onComplete_2 stdlib N/A ss 30 11609.233 ± 3905.352 ns/op
[info] CallbackBenchmark.onComplete_2 improved N/A ss 30 4665.233 ± 1402.013 ns/op
[info] CallbackBenchmark.onComplete_4 stdlib N/A ss 30 10961.167 ± 2352.935 ns/op
[info] CallbackBenchmark.onComplete_4 improved N/A ss 30 6938.300 ± 2720.896 ns/op
[info] CallbackBenchmark.onComplete_64 stdlib N/A ss 30 12687.667 ± 5327.636 ns/op
[info] CallbackBenchmark.onComplete_64 improved N/A ss 30 13256.100 ± 6121.853 ns/op
[info] CallbackBenchmark.onComplete_8192 stdlib N/A ss 30 339220.100 ± 36714.913 ns/op
[info] CallbackBenchmark.onComplete_8192 improved N/A ss 30 372399.700 ± 39879.405 ns/op
[info] CompletionBenchmark.tryComplete_1 stdlib success ss 30 2237.633 ± 1118.184 ns/op
[info] CompletionBenchmark.tryComplete_1 stdlib failure ss 30 3823.600 ± 1075.754 ns/op
[info] CompletionBenchmark.tryComplete_1 improved success ss 30 2488.067 ± 1315.143 ns/op
[info] CompletionBenchmark.tryComplete_1 improved failure ss 30 3453.300 ± 1756.089 ns/op
[info] CompletionBenchmark.tryComplete_16 stdlib success ss 30 12335.033 ± 8249.734 ns/op
[info] CompletionBenchmark.tryComplete_16 stdlib failure ss 30 12233.967 ± 5527.874 ns/op
[info] CompletionBenchmark.tryComplete_16 improved success ss 30 7800.600 ± 6339.226 ns/op
[info] CompletionBenchmark.tryComplete_16 improved failure ss 30 7363.467 ± 4654.659 ns/op
[info] CompletionBenchmark.tryComplete_2 stdlib success ss 30 3649.333 ± 785.538 ns/op
[info] CompletionBenchmark.tryComplete_2 stdlib failure ss 30 3317.000 ± 1209.830 ns/op
[info] CompletionBenchmark.tryComplete_2 improved success ss 30 2436.300 ± 688.951 ns/op
[info] CompletionBenchmark.tryComplete_2 improved failure ss 30 4247.433 ± 1112.173 ns/op
[info] CompletionBenchmark.tryComplete_4 stdlib success ss 30 2828.067 ± 1568.852 ns/op
[info] CompletionBenchmark.tryComplete_4 stdlib failure ss 30 7236.967 ± 4087.853 ns/op
[info] CompletionBenchmark.tryComplete_4 improved success ss 30 2573.667 ± 1248.644 ns/op
[info] CompletionBenchmark.tryComplete_4 improved failure ss 30 2848.033 ± 1552.413 ns/op
[info] CompletionBenchmark.tryComplete_64 stdlib success ss 30 5299.200 ± 1280.611 ns/op
[info] CompletionBenchmark.tryComplete_64 stdlib failure ss 30 9295.100 ± 4220.022 ns/op
[info] CompletionBenchmark.tryComplete_64 improved success ss 30 4361.033 ± 897.248 ns/op
[info] CompletionBenchmark.tryComplete_64 improved failure ss 30 6584.467 ± 1072.851 ns/op
[info] CompletionBenchmark.tryComplete_8192 stdlib success ss 30 62039.967 ± 30077.810 ns/op
[info] CompletionBenchmark.tryComplete_8192 stdlib failure ss 30 288578.433 ± 47247.053 ns/op
[info] CompletionBenchmark.tryComplete_8192 improved success ss 30 82829.133 ± 41142.505 ns/op
[info] CompletionBenchmark.tryComplete_8192 improved failure ss 30 267969.900 ± 40441.355 ns/op
[info] scala.future.CallbackBenchmark.onComplete_16_impl=improved 21379 ns/op
[info] scala.future.CallbackBenchmark.onComplete_16_impl=stdlib 60349 ns/op
[info] scala.future.CallbackBenchmark.onComplete_1_impl=improved 3407 ns/op
[info] scala.future.CallbackBenchmark.onComplete_1_impl=stdlib 10025 ns/op
[info] scala.future.CallbackBenchmark.onComplete_2_impl=improved 4665 ns/op
[info] scala.future.CallbackBenchmark.onComplete_2_impl=stdlib 11609 ns/op
[info] scala.future.CallbackBenchmark.onComplete_4_impl=improved 6938 ns/op
[info] scala.future.CallbackBenchmark.onComplete_4_impl=stdlib 10961 ns/op
[info] scala.future.CallbackBenchmark.onComplete_64_impl=improved 13256 ns/op
[info] scala.future.CallbackBenchmark.onComplete_64_impl=stdlib 12688 ns/op
[info] scala.future.CallbackBenchmark.onComplete_8192_impl=improved 372400 ns/op
[info] scala.future.CallbackBenchmark.onComplete_8192_impl=stdlib 339220 ns/op
[info] scala.future.CompletionBenchmark.tryComplete_16_impl=improved_result=failure 7363 ns/op
[info] scala.future.CompletionBenchmark.tryComplete_16_impl=improved_result=success 7801 ns/op
[info] scala.future.CompletionBenchmark.tryComplete_16_impl=stdlib_result=failure 12234 ns/op
[info] scala.future.CompletionBenchmark.tryComplete_16_impl=stdlib_result=success 12335 ns/op
[info] scala.future.CompletionBenchmark.tryComplete_1_impl=improved_result=failure 3453 ns/op
[info] scala.future.CompletionBenchmark.tryComplete_1_impl=improved_result=success 2488 ns/op
[info] scala.future.CompletionBenchmark.tryComplete_1_impl=stdlib_result=failure 3824 ns/op
[info] scala.future.CompletionBenchmark.tryComplete_1_impl=stdlib_result=success 2238 ns/op
[info] scala.future.CompletionBenchmark.tryComplete_2_impl=improved_result=failure 4247 ns/op
[info] scala.future.CompletionBenchmark.tryComplete_2_impl=improved_result=success 2436 ns/op
[info] scala.future.CompletionBenchmark.tryComplete_2_impl=stdlib_result=failure 3317 ns/op
[info] scala.future.CompletionBenchmark.tryComplete_2_impl=stdlib_result=success 3649 ns/op
[info] scala.future.CompletionBenchmark.tryComplete_4_impl=improved_result=failure 2848 ns/op
[info] scala.future.CompletionBenchmark.tryComplete_4_impl=improved_result=success 2574 ns/op
[info] scala.future.CompletionBenchmark.tryComplete_4_impl=stdlib_result=failure 7237 ns/op
[info] scala.future.CompletionBenchmark.tryComplete_4_impl=stdlib_result=success 2828 ns/op
[info] scala.future.CompletionBenchmark.tryComplete_64_impl=improved_result=failure 6584 ns/op
[info] scala.future.CompletionBenchmark.tryComplete_64_impl=improved_result=success 4361 ns/op
[info] scala.future.CompletionBenchmark.tryComplete_64_impl=stdlib_result=failure 9295 ns/op
[info] scala.future.CompletionBenchmark.tryComplete_64_impl=stdlib_result=success 5299 ns/op
[info] scala.future.CompletionBenchmark.tryComplete_8192_impl=improved_result=failure 267970 ns/op
[info] scala.future.CompletionBenchmark.tryComplete_8192_impl=improved_result=success 82829 ns/op
[info] scala.future.CompletionBenchmark.tryComplete_8192_impl=stdlib_result=failure 288578 ns/op
[info] scala.future.CompletionBenchmark.tryComplete_8192_impl=stdlib_result=success 62040 ns/op
Looks like that only runs 2 of the benches. Hmmm, I wonder why.
Check out master, go to the "benches" project, and run something like:
jmh:runMain scala.future.BenchRunner -p threads=1 -p recursion=8192 -i 25 -wi 15 -f1 -t1 Benchmark*
That should run quit a few benchmarks.