softwaremill / jox

Fast and Scalable Channels in Java
Apache License 2.0
251 stars 8 forks source link

Use volatiles & var handles instead of atomics #45

Closed adamw closed 8 months ago

adamw commented 9 months ago

Closes #15

github-actions[bot] commented 9 months ago
Benchmark results ``` Java: (capacity) (chainLength) (parallelism) Mode Cnt Score Error Units BufferedBenchmark.arrayBlockingQueue 1 N/A N/A avgt 5 1064.017 ± 45.253 ns/op BufferedBenchmark.arrayBlockingQueue 10 N/A N/A avgt 5 196.087 ± 53.846 ns/op BufferedBenchmark.arrayBlockingQueue 100 N/A N/A avgt 5 118.181 ± 5.530 ns/op BufferedBenchmark.channel 1 N/A N/A avgt 5 218.944 ± 15.451 ns/op BufferedBenchmark.channel 10 N/A N/A avgt 5 181.335 ± 21.019 ns/op BufferedBenchmark.channel 100 N/A N/A avgt 5 159.739 ± 35.174 ns/op ChainedBenchmark.channelChain 0 10000 N/A avgt 5 1026.615 ± 5.075 ns/op ChainedBenchmark.channelChain 100 10000 N/A avgt 5 37.682 ± 1.699 ns/op ChainedBenchmark.queueChain 0 10000 N/A avgt 5 127.851 ± 44.923 ns/op ChainedBenchmark.queueChain 100 10000 N/A avgt 5 9.272 ± 0.170 ns/op ParallelBenchmark.parallelChannels 0 N/A 10000 avgt 5 1016.851 ± 15.853 ns/op ParallelBenchmark.parallelChannels 100 N/A 10000 avgt 5 43.811 ± 0.638 ns/op ParallelBenchmark.parallelQueues 0 N/A 10000 avgt 5 126.506 ± 22.808 ns/op ParallelBenchmark.parallelQueues 100 N/A 10000 avgt 5 12.934 ± 0.267 ns/op RendezvousBenchmark.channel N/A N/A N/A avgt 5 201.012 ± 27.653 ns/op RendezvousBenchmark.exchanger N/A N/A N/A avgt 5 89.271 ± 19.119 ns/op RendezvousBenchmark.synchronousQueue N/A N/A N/A avgt 5 699.960 ± 26.130 ns/op SelectBenchmark.selectWithSingleClause N/A N/A N/A avgt 5 233.280 ± 45.556 ns/op SelectBenchmark.selectWithTwoClauses N/A N/A N/A avgt 5 203.364 ± 6.262 ns/op Kotlin: (capacity) (chainLength) (parallelism) Mode Cnt Score Error Units BufferedKotlinBenchmark.channel_defaultDispatcher 1 N/A N/A avgt 5 110.761 ± 1.575 ns/op BufferedKotlinBenchmark.channel_defaultDispatcher 10 N/A N/A avgt 5 53.239 ± 0.553 ns/op BufferedKotlinBenchmark.channel_defaultDispatcher 100 N/A N/A avgt 5 32.310 ± 0.703 ns/op ChainedKotlinBenchmark.channelChain_defaultDispatcher 0 10000 N/A avgt 5 60.136 ± 3.818 ns/op ChainedKotlinBenchmark.channelChain_defaultDispatcher 100 10000 N/A avgt 5 15.137 ± 0.486 ns/op ChainedKotlinBenchmark.channelChain_eventLoop 0 10000 N/A avgt 5 96.760 ± 3.729 ns/op ChainedKotlinBenchmark.channelChain_eventLoop 100 10000 N/A avgt 5 30.893 ± 0.678 ns/op ParallelKotlinBenchmark.parallelChannels_defaultDispatcher 0 N/A 10000 avgt 5 66.592 ± 2.201 ns/op ParallelKotlinBenchmark.parallelChannels_defaultDispatcher 100 N/A 10000 avgt 5 17.396 ± 2.642 ns/op RendezvousKotlinBenchmark.channel_defaultDispatcher N/A N/A N/A avgt 5 141.492 ± 1.779 ns/op SelectKotlinBenchmark.selectWithSingleClause_defaultDispatcher N/A N/A N/A avgt 5 252.333 ± 5.404 ns/op SelectKotlinBenchmark.selectWithTwoClauses_defaultDispatcher N/A N/A N/A avgt 5 345.870 ± 4.993 ns/op ```
github-actions[bot] commented 9 months ago
Benchmark results ``` Java: (capacity) (chainLength) (parallelism) Mode Cnt Score Error Units BufferedBenchmark.arrayBlockingQueue 1 N/A N/A avgt 5 1023.368 ± 47.094 ns/op BufferedBenchmark.arrayBlockingQueue 10 N/A N/A avgt 5 185.803 ± 30.125 ns/op BufferedBenchmark.arrayBlockingQueue 100 N/A N/A avgt 5 109.388 ± 6.270 ns/op BufferedBenchmark.channel 1 N/A N/A avgt 5 205.846 ± 27.531 ns/op BufferedBenchmark.channel 10 N/A N/A avgt 5 177.904 ± 23.083 ns/op BufferedBenchmark.channel 100 N/A N/A avgt 5 146.108 ± 14.468 ns/op ChainedBenchmark.channelChain 0 10000 N/A avgt 5 1022.412 ± 24.135 ns/op ChainedBenchmark.channelChain 100 10000 N/A avgt 5 36.987 ± 2.490 ns/op ChainedBenchmark.queueChain 0 10000 N/A avgt 5 116.652 ± 39.769 ns/op ChainedBenchmark.queueChain 100 10000 N/A avgt 5 10.044 ± 0.136 ns/op ParallelBenchmark.parallelChannels 0 N/A 10000 avgt 5 1011.786 ± 8.639 ns/op ParallelBenchmark.parallelChannels 100 N/A 10000 avgt 5 43.860 ± 0.956 ns/op ParallelBenchmark.parallelQueues 0 N/A 10000 avgt 5 109.244 ± 5.477 ns/op ParallelBenchmark.parallelQueues 100 N/A 10000 avgt 5 13.005 ± 0.622 ns/op RendezvousBenchmark.channel N/A N/A N/A avgt 5 199.937 ± 35.596 ns/op RendezvousBenchmark.exchanger N/A N/A N/A avgt 5 86.709 ± 15.931 ns/op RendezvousBenchmark.synchronousQueue N/A N/A N/A avgt 5 635.181 ± 116.326 ns/op SelectBenchmark.selectWithSingleClause N/A N/A N/A avgt 5 229.060 ± 15.302 ns/op SelectBenchmark.selectWithTwoClauses N/A N/A N/A avgt 5 214.236 ± 13.935 ns/op Kotlin: (capacity) (chainLength) (parallelism) Mode Cnt Score Error Units BufferedKotlinBenchmark.channel_defaultDispatcher 1 N/A N/A avgt 5 109.287 ± 10.511 ns/op BufferedKotlinBenchmark.channel_defaultDispatcher 10 N/A N/A avgt 5 51.938 ± 2.466 ns/op BufferedKotlinBenchmark.channel_defaultDispatcher 100 N/A N/A avgt 5 31.926 ± 0.375 ns/op ChainedKotlinBenchmark.channelChain_defaultDispatcher 0 10000 N/A avgt 5 59.048 ± 4.171 ns/op ChainedKotlinBenchmark.channelChain_defaultDispatcher 100 10000 N/A avgt 5 14.702 ± 0.674 ns/op ChainedKotlinBenchmark.channelChain_eventLoop 0 10000 N/A avgt 5 97.380 ± 2.419 ns/op ChainedKotlinBenchmark.channelChain_eventLoop 100 10000 N/A avgt 5 30.922 ± 0.195 ns/op ParallelKotlinBenchmark.parallelChannels_defaultDispatcher 0 N/A 10000 avgt 5 89.306 ± 3.243 ns/op ParallelKotlinBenchmark.parallelChannels_defaultDispatcher 100 N/A 10000 avgt 5 16.209 ± 0.181 ns/op RendezvousKotlinBenchmark.channel_defaultDispatcher N/A N/A N/A avgt 5 137.241 ± 1.296 ns/op SelectKotlinBenchmark.selectWithSingleClause_defaultDispatcher N/A N/A N/A avgt 5 264.097 ± 1.430 ns/op SelectKotlinBenchmark.selectWithTwoClauses_defaultDispatcher N/A N/A N/A avgt 5 319.361 ± 3.589 ns/op ```
github-actions[bot] commented 9 months ago
Benchmark results ``` Java: (capacity) (chainLength) (parallelism) Mode Cnt Score Error Units BufferedBenchmark.arrayBlockingQueue 1 N/A N/A avgt 5 1042.459 ± 215.910 ns/op BufferedBenchmark.arrayBlockingQueue 10 N/A N/A avgt 5 184.222 ± 42.282 ns/op BufferedBenchmark.arrayBlockingQueue 100 N/A N/A avgt 5 117.989 ± 4.556 ns/op BufferedBenchmark.channel 1 N/A N/A avgt 5 239.651 ± 44.572 ns/op BufferedBenchmark.channel 10 N/A N/A avgt 5 197.434 ± 19.101 ns/op BufferedBenchmark.channel 100 N/A N/A avgt 5 154.547 ± 27.814 ns/op ChainedBenchmark.channelChain 0 10000 N/A avgt 5 1028.543 ± 13.547 ns/op ChainedBenchmark.channelChain 100 10000 N/A avgt 5 38.501 ± 1.214 ns/op ChainedBenchmark.queueChain 0 10000 N/A avgt 5 108.465 ± 7.330 ns/op ChainedBenchmark.queueChain 100 10000 N/A avgt 5 9.421 ± 0.239 ns/op ParallelBenchmark.parallelChannels 0 N/A 10000 avgt 5 1012.729 ± 14.184 ns/op ParallelBenchmark.parallelChannels 100 N/A 10000 avgt 5 44.826 ± 2.524 ns/op ParallelBenchmark.parallelQueues 0 N/A 10000 avgt 5 108.990 ± 16.862 ns/op ParallelBenchmark.parallelQueues 100 N/A 10000 avgt 5 13.633 ± 0.341 ns/op RendezvousBenchmark.channel N/A N/A N/A avgt 5 228.189 ± 44.038 ns/op RendezvousBenchmark.exchanger N/A N/A N/A avgt 5 92.621 ± 13.420 ns/op RendezvousBenchmark.synchronousQueue N/A N/A N/A avgt 5 609.335 ± 51.773 ns/op SelectBenchmark.selectWithSingleClause N/A N/A N/A avgt 5 263.861 ± 48.069 ns/op SelectBenchmark.selectWithTwoClauses N/A N/A N/A avgt 5 250.203 ± 10.029 ns/op Kotlin: (capacity) (chainLength) (parallelism) Mode Cnt Score Error Units BufferedKotlinBenchmark.channel_defaultDispatcher 1 N/A N/A avgt 5 117.727 ± 1.890 ns/op BufferedKotlinBenchmark.channel_defaultDispatcher 10 N/A N/A avgt 5 52.672 ± 1.176 ns/op BufferedKotlinBenchmark.channel_defaultDispatcher 100 N/A N/A avgt 5 31.957 ± 0.381 ns/op ChainedKotlinBenchmark.channelChain_defaultDispatcher 0 10000 N/A avgt 5 57.444 ± 3.345 ns/op ChainedKotlinBenchmark.channelChain_defaultDispatcher 100 10000 N/A avgt 5 14.706 ± 0.524 ns/op ChainedKotlinBenchmark.channelChain_eventLoop 0 10000 N/A avgt 5 94.183 ± 4.337 ns/op ChainedKotlinBenchmark.channelChain_eventLoop 100 10000 N/A avgt 5 31.638 ± 0.245 ns/op ParallelKotlinBenchmark.parallelChannels_defaultDispatcher 0 N/A 10000 avgt 5 71.608 ± 9.974 ns/op ParallelKotlinBenchmark.parallelChannels_defaultDispatcher 100 N/A 10000 avgt 5 15.237 ± 0.747 ns/op RendezvousKotlinBenchmark.channel_defaultDispatcher N/A N/A N/A avgt 5 144.250 ± 1.403 ns/op SelectKotlinBenchmark.selectWithSingleClause_defaultDispatcher N/A N/A N/A avgt 5 262.230 ± 1.545 ns/op SelectKotlinBenchmark.selectWithTwoClauses_defaultDispatcher N/A N/A N/A avgt 5 342.331 ± 2.089 ns/op ```
github-actions[bot] commented 9 months ago
Benchmark results ``` Java: (capacity) (chainLength) (parallelism) Mode Cnt Score Error Units BufferedBenchmark.arrayBlockingQueue 1 N/A N/A avgt 5 1031.935 ± 101.604 ns/op BufferedBenchmark.arrayBlockingQueue 10 N/A N/A avgt 5 185.498 ± 55.936 ns/op BufferedBenchmark.arrayBlockingQueue 100 N/A N/A avgt 5 114.884 ± 2.935 ns/op BufferedBenchmark.channel 1 N/A N/A avgt 5 217.424 ± 34.532 ns/op BufferedBenchmark.channel 10 N/A N/A avgt 5 186.638 ± 55.385 ns/op BufferedBenchmark.channel 100 N/A N/A avgt 5 151.278 ± 34.008 ns/op ChainedBenchmark.channelChain 0 10000 N/A avgt 5 1018.738 ± 6.204 ns/op ChainedBenchmark.channelChain 100 10000 N/A avgt 5 36.990 ± 1.984 ns/op ChainedBenchmark.queueChain 0 10000 N/A avgt 5 103.374 ± 10.069 ns/op ChainedBenchmark.queueChain 100 10000 N/A avgt 5 9.769 ± 0.144 ns/op ParallelBenchmark.parallelChannels 0 N/A 10000 avgt 5 1019.334 ± 18.417 ns/op ParallelBenchmark.parallelChannels 100 N/A 10000 avgt 5 42.995 ± 0.547 ns/op ParallelBenchmark.parallelQueues 0 N/A 10000 avgt 5 123.261 ± 56.626 ns/op ParallelBenchmark.parallelQueues 100 N/A 10000 avgt 5 16.155 ± 1.997 ns/op RendezvousBenchmark.channel N/A N/A N/A avgt 5 209.355 ± 34.655 ns/op RendezvousBenchmark.exchanger N/A N/A N/A avgt 5 89.884 ± 17.890 ns/op RendezvousBenchmark.synchronousQueue N/A N/A N/A avgt 5 613.185 ± 169.898 ns/op SelectBenchmark.selectWithSingleClause N/A N/A N/A avgt 5 249.589 ± 48.461 ns/op SelectBenchmark.selectWithTwoClauses N/A N/A N/A avgt 5 226.880 ± 16.776 ns/op Kotlin: (capacity) (chainLength) (parallelism) Mode Cnt Score Error Units BufferedKotlinBenchmark.channel_defaultDispatcher 1 N/A N/A avgt 5 109.455 ± 1.710 ns/op BufferedKotlinBenchmark.channel_defaultDispatcher 10 N/A N/A avgt 5 53.887 ± 2.680 ns/op BufferedKotlinBenchmark.channel_defaultDispatcher 100 N/A N/A avgt 5 32.054 ± 0.626 ns/op ChainedKotlinBenchmark.channelChain_defaultDispatcher 0 10000 N/A avgt 5 63.639 ± 5.604 ns/op ChainedKotlinBenchmark.channelChain_defaultDispatcher 100 10000 N/A avgt 5 15.183 ± 0.712 ns/op ChainedKotlinBenchmark.channelChain_eventLoop 0 10000 N/A avgt 5 96.763 ± 17.340 ns/op ChainedKotlinBenchmark.channelChain_eventLoop 100 10000 N/A avgt 5 30.863 ± 0.342 ns/op ParallelKotlinBenchmark.parallelChannels_defaultDispatcher 0 N/A 10000 avgt 5 68.289 ± 1.576 ns/op ParallelKotlinBenchmark.parallelChannels_defaultDispatcher 100 N/A 10000 avgt 5 15.862 ± 0.626 ns/op RendezvousKotlinBenchmark.channel_defaultDispatcher N/A N/A N/A avgt 5 146.475 ± 0.573 ns/op SelectKotlinBenchmark.selectWithSingleClause_defaultDispatcher N/A N/A N/A avgt 5 255.162 ± 3.779 ns/op SelectKotlinBenchmark.selectWithTwoClauses_defaultDispatcher N/A N/A N/A avgt 5 332.618 ± 8.943 ns/op ```
github-actions[bot] commented 8 months ago
Benchmark results ``` Java: (capacity) (chainLength) (parallelism) Mode Cnt Score Error Units BufferedBenchmark.arrayBlockingQueue 1 N/A N/A avgt 5 1036.379 ± 115.931 ns/op BufferedBenchmark.arrayBlockingQueue 10 N/A N/A avgt 5 185.245 ± 42.938 ns/op BufferedBenchmark.arrayBlockingQueue 100 N/A N/A avgt 5 116.835 ± 4.820 ns/op BufferedBenchmark.channel 1 N/A N/A avgt 5 196.366 ± 50.816 ns/op BufferedBenchmark.channel 10 N/A N/A avgt 5 178.386 ± 44.532 ns/op BufferedBenchmark.channel 100 N/A N/A avgt 5 145.859 ± 11.693 ns/op ChainedBenchmark.channelChain 0 10000 N/A avgt 5 1025.913 ± 20.594 ns/op ChainedBenchmark.channelChain 100 10000 N/A avgt 5 35.012 ± 2.698 ns/op ChainedBenchmark.queueChain 0 10000 N/A avgt 5 125.040 ± 19.508 ns/op ChainedBenchmark.queueChain 100 10000 N/A avgt 5 10.247 ± 0.339 ns/op ParallelBenchmark.parallelChannels 0 N/A 10000 avgt 5 1008.349 ± 24.088 ns/op ParallelBenchmark.parallelChannels 100 N/A 10000 avgt 5 43.031 ± 1.764 ns/op ParallelBenchmark.parallelQueues 0 N/A 10000 avgt 5 118.122 ± 55.635 ns/op ParallelBenchmark.parallelQueues 100 N/A 10000 avgt 5 16.324 ± 1.763 ns/op RendezvousBenchmark.channel N/A N/A N/A avgt 5 224.040 ± 29.807 ns/op RendezvousBenchmark.exchanger N/A N/A N/A avgt 5 88.997 ± 14.917 ns/op RendezvousBenchmark.synchronousQueue N/A N/A N/A avgt 5 596.663 ± 59.209 ns/op SelectBenchmark.selectWithSingleClause N/A N/A N/A avgt 5 251.300 ± 33.096 ns/op SelectBenchmark.selectWithTwoClauses N/A N/A N/A avgt 5 239.912 ± 28.853 ns/op Kotlin: (capacity) (chainLength) (parallelism) Mode Cnt Score Error Units BufferedKotlinBenchmark.channel_defaultDispatcher 1 N/A N/A avgt 5 108.879 ± 3.855 ns/op BufferedKotlinBenchmark.channel_defaultDispatcher 10 N/A N/A avgt 5 50.636 ± 2.846 ns/op BufferedKotlinBenchmark.channel_defaultDispatcher 100 N/A N/A avgt 5 32.209 ± 1.136 ns/op ChainedKotlinBenchmark.channelChain_defaultDispatcher 0 10000 N/A avgt 5 64.326 ± 0.757 ns/op ChainedKotlinBenchmark.channelChain_defaultDispatcher 100 10000 N/A avgt 5 13.282 ± 0.384 ns/op ChainedKotlinBenchmark.channelChain_eventLoop 0 10000 N/A avgt 5 93.923 ± 3.354 ns/op ChainedKotlinBenchmark.channelChain_eventLoop 100 10000 N/A avgt 5 31.185 ± 0.405 ns/op ParallelKotlinBenchmark.parallelChannels_defaultDispatcher 0 N/A 10000 avgt 5 64.351 ± 2.274 ns/op ParallelKotlinBenchmark.parallelChannels_defaultDispatcher 100 N/A 10000 avgt 5 15.078 ± 0.212 ns/op RendezvousKotlinBenchmark.channel_defaultDispatcher N/A N/A N/A avgt 5 145.222 ± 0.586 ns/op SelectKotlinBenchmark.selectWithSingleClause_defaultDispatcher N/A N/A N/A avgt 5 256.798 ± 1.845 ns/op SelectKotlinBenchmark.selectWithTwoClauses_defaultDispatcher N/A N/A N/A avgt 5 315.290 ± 0.741 ns/op ```
github-actions[bot] commented 8 months ago
Benchmark results ``` Java: (capacity) (chainLength) (parallelism) Mode Cnt Score Error Units BufferedBenchmark.arrayBlockingQueue 1 N/A N/A avgt 5 1065.247 ± 199.490 ns/op BufferedBenchmark.arrayBlockingQueue 10 N/A N/A avgt 5 166.920 ± 38.600 ns/op BufferedBenchmark.arrayBlockingQueue 100 N/A N/A avgt 5 117.085 ± 5.850 ns/op BufferedBenchmark.channel 1 N/A N/A avgt 5 196.986 ± 42.040 ns/op BufferedBenchmark.channel 10 N/A N/A avgt 5 178.155 ± 18.394 ns/op BufferedBenchmark.channel 100 N/A N/A avgt 5 138.355 ± 17.460 ns/op ChainedBenchmark.channelChain 0 10000 N/A avgt 5 1031.783 ± 23.731 ns/op ChainedBenchmark.channelChain 100 10000 N/A avgt 5 35.123 ± 1.223 ns/op ChainedBenchmark.queueChain 0 10000 N/A avgt 5 105.054 ± 14.004 ns/op ChainedBenchmark.queueChain 100 10000 N/A avgt 5 10.036 ± 0.463 ns/op ParallelBenchmark.parallelChannels 0 N/A 10000 avgt 5 1015.822 ± 19.485 ns/op ParallelBenchmark.parallelChannels 100 N/A 10000 avgt 5 40.478 ± 1.576 ns/op ParallelBenchmark.parallelQueues 0 N/A 10000 avgt 5 133.519 ± 6.759 ns/op ParallelBenchmark.parallelQueues 100 N/A 10000 avgt 5 14.066 ± 0.289 ns/op RendezvousBenchmark.channel N/A N/A N/A avgt 5 215.109 ± 25.829 ns/op RendezvousBenchmark.exchanger N/A N/A N/A avgt 5 89.788 ± 10.470 ns/op RendezvousBenchmark.synchronousQueue N/A N/A N/A avgt 5 686.118 ± 524.516 ns/op SelectBenchmark.selectWithSingleClause N/A N/A N/A avgt 5 250.331 ± 58.681 ns/op SelectBenchmark.selectWithTwoClauses N/A N/A N/A avgt 5 225.020 ± 18.204 ns/op Kotlin: (capacity) (chainLength) (parallelism) Mode Cnt Score Error Units BufferedKotlinBenchmark.channel_defaultDispatcher 1 N/A N/A avgt 5 108.864 ± 1.571 ns/op BufferedKotlinBenchmark.channel_defaultDispatcher 10 N/A N/A avgt 5 51.593 ± 3.661 ns/op BufferedKotlinBenchmark.channel_defaultDispatcher 100 N/A N/A avgt 5 32.232 ± 0.381 ns/op ChainedKotlinBenchmark.channelChain_defaultDispatcher 0 10000 N/A avgt 5 60.792 ± 0.935 ns/op ChainedKotlinBenchmark.channelChain_defaultDispatcher 100 10000 N/A avgt 5 15.279 ± 1.276 ns/op ChainedKotlinBenchmark.channelChain_eventLoop 0 10000 N/A avgt 5 94.226 ± 2.850 ns/op ChainedKotlinBenchmark.channelChain_eventLoop 100 10000 N/A avgt 5 31.543 ± 0.176 ns/op ParallelKotlinBenchmark.parallelChannels_defaultDispatcher 0 N/A 10000 avgt 5 90.470 ± 7.166 ns/op ParallelKotlinBenchmark.parallelChannels_defaultDispatcher 100 N/A 10000 avgt 5 15.539 ± 0.270 ns/op RendezvousKotlinBenchmark.channel_defaultDispatcher N/A N/A N/A avgt 5 142.988 ± 1.530 ns/op SelectKotlinBenchmark.selectWithSingleClause_defaultDispatcher N/A N/A N/A avgt 5 258.025 ± 1.563 ns/op SelectKotlinBenchmark.selectWithTwoClauses_defaultDispatcher N/A N/A N/A avgt 5 314.446 ± 2.834 ns/op ```
github-actions[bot] commented 8 months ago
Benchmark results ``` Java: (capacity) (chainLength) (parallelism) Mode Cnt Score Error Units BufferedBenchmark.arrayBlockingQueue 1 N/A N/A avgt 5 1029.215 ± 278.239 ns/op BufferedBenchmark.arrayBlockingQueue 10 N/A N/A avgt 5 192.563 ± 44.722 ns/op BufferedBenchmark.arrayBlockingQueue 100 N/A N/A avgt 5 113.946 ± 11.684 ns/op BufferedBenchmark.channel 1 N/A N/A avgt 5 200.951 ± 26.388 ns/op BufferedBenchmark.channel 10 N/A N/A avgt 5 168.874 ± 3.125 ns/op BufferedBenchmark.channel 100 N/A N/A avgt 5 145.252 ± 30.469 ns/op ChainedBenchmark.channelChain 0 10000 N/A avgt 5 1040.108 ± 21.953 ns/op ChainedBenchmark.channelChain 100 10000 N/A avgt 5 28.570 ± 1.781 ns/op ChainedBenchmark.queueChain 0 10000 N/A avgt 5 124.682 ± 39.540 ns/op ChainedBenchmark.queueChain 100 10000 N/A avgt 5 10.855 ± 0.338 ns/op ParallelBenchmark.parallelChannels 0 N/A 10000 avgt 5 1011.146 ± 12.406 ns/op ParallelBenchmark.parallelChannels 100 N/A 10000 avgt 5 34.475 ± 1.654 ns/op ParallelBenchmark.parallelQueues 0 N/A 10000 avgt 5 125.831 ± 43.770 ns/op ParallelBenchmark.parallelQueues 100 N/A 10000 avgt 5 13.145 ± 0.327 ns/op RendezvousBenchmark.channel N/A N/A N/A avgt 5 192.495 ± 31.016 ns/op RendezvousBenchmark.exchanger N/A N/A N/A avgt 5 95.375 ± 18.735 ns/op RendezvousBenchmark.synchronousQueue N/A N/A N/A avgt 5 583.325 ± 220.246 ns/op SelectBenchmark.selectWithSingleClause N/A N/A N/A avgt 5 221.507 ± 36.354 ns/op SelectBenchmark.selectWithTwoClauses N/A N/A N/A avgt 5 207.277 ± 12.248 ns/op Kotlin: (capacity) (chainLength) (parallelism) Mode Cnt Score Error Units BufferedKotlinBenchmark.channel_defaultDispatcher 1 N/A N/A avgt 5 108.094 ± 0.425 ns/op BufferedKotlinBenchmark.channel_defaultDispatcher 10 N/A N/A avgt 5 52.964 ± 0.456 ns/op BufferedKotlinBenchmark.channel_defaultDispatcher 100 N/A N/A avgt 5 32.218 ± 0.595 ns/op ChainedKotlinBenchmark.channelChain_defaultDispatcher 0 10000 N/A avgt 5 58.412 ± 0.770 ns/op ChainedKotlinBenchmark.channelChain_defaultDispatcher 100 10000 N/A avgt 5 15.648 ± 1.061 ns/op ChainedKotlinBenchmark.channelChain_eventLoop 0 10000 N/A avgt 5 98.466 ± 7.956 ns/op ChainedKotlinBenchmark.channelChain_eventLoop 100 10000 N/A avgt 5 31.972 ± 0.758 ns/op ParallelKotlinBenchmark.parallelChannels_defaultDispatcher 0 N/A 10000 avgt 5 102.764 ± 13.279 ns/op ParallelKotlinBenchmark.parallelChannels_defaultDispatcher 100 N/A 10000 avgt 5 16.181 ± 1.585 ns/op RendezvousKotlinBenchmark.channel_defaultDispatcher N/A N/A N/A avgt 5 139.042 ± 5.767 ns/op SelectKotlinBenchmark.selectWithSingleClause_defaultDispatcher N/A N/A N/A avgt 5 248.529 ± 2.404 ns/op SelectKotlinBenchmark.selectWithTwoClauses_defaultDispatcher N/A N/A N/A avgt 5 342.408 ± 2.536 ns/op ```