Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chained benchmarks #30

Merged
merged 17 commits into from
Jan 9, 2024
Merged

Chained benchmarks #30

merged 17 commits into from
Jan 9, 2024

Conversation

adamw
Copy link
Member

@adamw adamw commented Jan 8, 2024

Closes #12

Copy link

github-actions bot commented Jan 8, 2024

Benchmark results
Java:
(capacity)  Mode  Cnt     Score     Error  Units
BufferedBenchmark.array_blocking_queue                                      1  avgt    5  1209.984 ± 215.040  ns/op
BufferedBenchmark.array_blocking_queue:putToArrayBlockingQueue              1  avgt    5  1209.981 ± 215.013  ns/op
BufferedBenchmark.array_blocking_queue:takeFromArrayBlockingQueue           1  avgt    5  1209.988 ± 215.068  ns/op
BufferedBenchmark.array_blocking_queue                                     10  avgt    5   236.855 ±  55.245  ns/op
BufferedBenchmark.array_blocking_queue:putToArrayBlockingQueue             10  avgt    5   236.851 ±  55.236  ns/op
BufferedBenchmark.array_blocking_queue:takeFromArrayBlockingQueue          10  avgt    5   236.860 ±  55.253  ns/op
BufferedBenchmark.array_blocking_queue                                    100  avgt    5   143.500 ±  56.495  ns/op
BufferedBenchmark.array_blocking_queue:putToArrayBlockingQueue            100  avgt    5   143.499 ±  56.496  ns/op
BufferedBenchmark.array_blocking_queue:takeFromArrayBlockingQueue         100  avgt    5   143.500 ±  56.494  ns/op
BufferedBenchmark.channel                                                   1  avgt    5   182.785 ±  18.501  ns/op
BufferedBenchmark.channel:receiveFromChannel                                1  avgt    5   182.785 ±  18.498  ns/op
BufferedBenchmark.channel:sendToChannel                                     1  avgt    5   182.786 ±  18.505  ns/op
BufferedBenchmark.channel                                                  10  avgt    5   157.088 ±  15.442  ns/op
BufferedBenchmark.channel:receiveFromChannel                               10  avgt    5   157.085 ±  15.446  ns/op
BufferedBenchmark.channel:sendToChannel                                    10  avgt    5   157.091 ±  15.438  ns/op
BufferedBenchmark.channel                                                 100  avgt    5   146.772 ±   9.409  ns/op
BufferedBenchmark.channel:receiveFromChannel                              100  avgt    5   146.770 ±   9.382  ns/op
BufferedBenchmark.channel:sendToChannel                                   100  avgt    5   146.773 ±   9.437  ns/op
BufferedBenchmark.channel_iterative                                         1  avgt    5   202.385 ±  22.290  ns/op
BufferedBenchmark.channel_iterative                                        10  avgt    5   170.268 ±  12.522  ns/op
BufferedBenchmark.channel_iterative                                       100  avgt    5   130.562 ±  13.789  ns/op
RendezvousBenchmark.channel                                               N/A  avgt    5   186.460 ±  42.455  ns/op
RendezvousBenchmark.channel:receiveFromChannel                            N/A  avgt    5   186.461 ±  42.447  ns/op
RendezvousBenchmark.channel:sendToChannel                                 N/A  avgt    5   186.460 ±  42.463  ns/op
RendezvousBenchmark.channel_iterative                                     N/A  avgt    5   193.928 ±  11.772  ns/op
RendezvousBenchmark.exchanger                                             N/A  avgt    5    90.297 ±  22.333  ns/op
RendezvousBenchmark.exchanger:exchange1                                   N/A  avgt    5    90.298 ±  22.318  ns/op
RendezvousBenchmark.exchanger:exchange2                                   N/A  avgt    5    90.296 ±  22.348  ns/op
RendezvousBenchmark.synchronous_queue                                     N/A  avgt    5   219.655 ± 125.597  ns/op
RendezvousBenchmark.synchronous_queue:putToSynchronousQueue               N/A  avgt    5   219.670 ± 125.626  ns/op
RendezvousBenchmark.synchronous_queue:takeFromSynchronousQueue            N/A  avgt    5   219.640 ± 125.567  ns/op
SelectBenchmark.channel                                                   N/A  avgt    5   231.777 ±  24.250  ns/op
SelectBenchmark.channel:receiveFromChannelUsingSelect                     N/A  avgt    5   231.775 ±  24.278  ns/op
SelectBenchmark.channel:sendToChannel                                     N/A  avgt    5   231.779 ±  24.223  ns/op
SelectBenchmark.single_channel_iterative                                  N/A  avgt    5   203.493 ±   9.164  ns/op
SelectBenchmark.two_channels_iterative                                    N/A  avgt    5   215.874 ±  53.042  ns/op

Kotlin:
(capacity)  Mode  Cnt    Score    Error  Units
BufferedKotlinBenchmark.sendReceiveUsingDefaultDispatcher                              1  avgt    5  113.439 ±  1.309  ns/op
BufferedKotlinBenchmark.sendReceiveUsingDefaultDispatcher                             10  avgt    5   50.878 ±  1.525  ns/op
BufferedKotlinBenchmark.sendReceiveUsingDefaultDispatcher                            100  avgt    5   32.045 ±  0.195  ns/op
RendezvousKotlinBenchmark.sendReceiveUsingDefaultDispatcher                          N/A  avgt    5  148.477 ±  1.975  ns/op
SelectKotlinBenchmark.sendReceiveUsingSelect_singleChannel_defaultDispatcher         N/A  avgt    5  221.874 ± 19.021  ns/op
SelectKotlinBenchmark.sendReceiveUsingSelect_twoChannels_defaultDispatcher           N/A  avgt    5  323.201 ±  3.215  ns/op

Copy link

github-actions bot commented Jan 8, 2024

Benchmark results
Java:
(capacity)  Mode  Cnt     Score     Error  Units
BufferedBenchmark.array_blocking_queue                                      1  avgt    5  1043.098 ±  28.038  ns/op
BufferedBenchmark.array_blocking_queue:putToArrayBlockingQueue              1  avgt    5  1043.098 ±  28.045  ns/op
BufferedBenchmark.array_blocking_queue:takeFromArrayBlockingQueue           1  avgt    5  1043.097 ±  28.031  ns/op
BufferedBenchmark.array_blocking_queue                                     10  avgt    5   217.119 ±  44.363  ns/op
BufferedBenchmark.array_blocking_queue:putToArrayBlockingQueue             10  avgt    5   217.115 ±  44.358  ns/op
BufferedBenchmark.array_blocking_queue:takeFromArrayBlockingQueue          10  avgt    5   217.123 ±  44.368  ns/op
BufferedBenchmark.array_blocking_queue                                    100  avgt    5   132.109 ±  11.485  ns/op
BufferedBenchmark.array_blocking_queue:putToArrayBlockingQueue            100  avgt    5   132.110 ±  11.484  ns/op
BufferedBenchmark.array_blocking_queue:takeFromArrayBlockingQueue         100  avgt    5   132.109 ±  11.486  ns/op
BufferedBenchmark.channel                                                   1  avgt    5   194.236 ±  41.518  ns/op
BufferedBenchmark.channel:receiveFromChannel                                1  avgt    5   194.234 ±  41.516  ns/op
BufferedBenchmark.channel:sendToChannel                                     1  avgt    5   194.238 ±  41.520  ns/op
BufferedBenchmark.channel                                                  10  avgt    5   153.588 ±  48.756  ns/op
BufferedBenchmark.channel:receiveFromChannel                               10  avgt    5   153.604 ±  48.753  ns/op
BufferedBenchmark.channel:sendToChannel                                    10  avgt    5   153.571 ±  48.760  ns/op
BufferedBenchmark.channel                                                 100  avgt    5   120.712 ±  13.538  ns/op
BufferedBenchmark.channel:receiveFromChannel                              100  avgt    5   120.719 ±  13.565  ns/op
BufferedBenchmark.channel:sendToChannel                                   100  avgt    5   120.704 ±  13.511  ns/op
BufferedBenchmark.channel_iterative                                         1  avgt    5   185.289 ±  52.872  ns/op
BufferedBenchmark.channel_iterative                                        10  avgt    5   154.637 ±  21.354  ns/op
BufferedBenchmark.channel_iterative                                       100  avgt    5   131.951 ±  12.398  ns/op
RendezvousBenchmark.channel                                               N/A  avgt    5   171.825 ±   5.916  ns/op
RendezvousBenchmark.channel:receiveFromChannel                            N/A  avgt    5   171.827 ±   5.909  ns/op
RendezvousBenchmark.channel:sendToChannel                                 N/A  avgt    5   171.823 ±   5.923  ns/op
RendezvousBenchmark.channel_iterative                                     N/A  avgt    5   157.459 ±  20.820  ns/op
RendezvousBenchmark.exchanger                                             N/A  avgt    5    92.070 ±  11.418  ns/op
RendezvousBenchmark.exchanger:exchange1                                   N/A  avgt    5    92.070 ±  11.415  ns/op
RendezvousBenchmark.exchanger:exchange2                                   N/A  avgt    5    92.070 ±  11.420  ns/op
RendezvousBenchmark.synchronous_queue                                     N/A  avgt    5   202.953 ±  12.528  ns/op
RendezvousBenchmark.synchronous_queue:putToSynchronousQueue               N/A  avgt    5   202.954 ±  12.519  ns/op
RendezvousBenchmark.synchronous_queue:takeFromSynchronousQueue            N/A  avgt    5   202.952 ±  12.539  ns/op
SelectBenchmark.channel                                                   N/A  avgt    5   263.607 ± 106.127  ns/op
SelectBenchmark.channel:receiveFromChannelUsingSelect                     N/A  avgt    5   263.593 ± 106.100  ns/op
SelectBenchmark.channel:sendToChannel                                     N/A  avgt    5   263.620 ± 106.154  ns/op
SelectBenchmark.single_channel_iterative                                  N/A  avgt    5   186.858 ±  15.520  ns/op
SelectBenchmark.two_channels_iterative                                    N/A  avgt    5   215.844 ±  12.624  ns/op

Kotlin:
(capacity)  Mode  Cnt    Score     Error  Units
BufferedKotlinBenchmark.sendReceiveUsingDefaultDispatcher                              1  avgt    5  107.694 ±   3.933  ns/op
BufferedKotlinBenchmark.sendReceiveUsingDefaultDispatcher                             10  avgt    5   52.423 ±   0.442  ns/op
BufferedKotlinBenchmark.sendReceiveUsingDefaultDispatcher                            100  avgt    5   32.389 ±   0.260  ns/op
RendezvousKotlinBenchmark.sendReceiveUsingDefaultDispatcher                          N/A  avgt    5  189.417 ± 343.401  ns/op
SelectKotlinBenchmark.sendReceiveUsingSelect_singleChannel_defaultDispatcher         N/A  avgt    5  237.365 ±  10.916  ns/op
SelectKotlinBenchmark.sendReceiveUsingSelect_twoChannels_defaultDispatcher           N/A  avgt    5  354.291 ±  18.591  ns/op

Copy link

github-actions bot commented Jan 8, 2024

Benchmark results
Java:
(capacity)  (channelCount)  Mode  Cnt     Score     Error  Units
BufferedBenchmark.array_blocking_queue                                      1             N/A  avgt    5  1164.694 ± 150.845  ns/op
BufferedBenchmark.array_blocking_queue:putToArrayBlockingQueue              1             N/A  avgt    5  1164.684 ± 150.877  ns/op
BufferedBenchmark.array_blocking_queue:takeFromArrayBlockingQueue           1             N/A  avgt    5  1164.703 ± 150.814  ns/op
BufferedBenchmark.array_blocking_queue                                     10             N/A  avgt    5   233.081 ±  39.602  ns/op
BufferedBenchmark.array_blocking_queue:putToArrayBlockingQueue             10             N/A  avgt    5   233.075 ±  39.597  ns/op
BufferedBenchmark.array_blocking_queue:takeFromArrayBlockingQueue          10             N/A  avgt    5   233.088 ±  39.607  ns/op
BufferedBenchmark.array_blocking_queue                                    100             N/A  avgt    5   165.920 ±  29.078  ns/op
BufferedBenchmark.array_blocking_queue:putToArrayBlockingQueue            100             N/A  avgt    5   165.917 ±  29.104  ns/op
BufferedBenchmark.array_blocking_queue:takeFromArrayBlockingQueue         100             N/A  avgt    5   165.923 ±  29.053  ns/op
BufferedBenchmark.channel                                                   1             N/A  avgt    5   195.423 ±  30.519  ns/op
BufferedBenchmark.channel:receiveFromChannel                                1             N/A  avgt    5   195.429 ±  30.498  ns/op
BufferedBenchmark.channel:sendToChannel                                     1             N/A  avgt    5   195.417 ±  30.540  ns/op
BufferedBenchmark.channel                                                  10             N/A  avgt    5   158.392 ±  32.853  ns/op
BufferedBenchmark.channel:receiveFromChannel                               10             N/A  avgt    5   158.385 ±  32.842  ns/op
BufferedBenchmark.channel:sendToChannel                                    10             N/A  avgt    5   158.400 ±  32.863  ns/op
BufferedBenchmark.channel                                                 100             N/A  avgt    5   133.720 ±  11.591  ns/op
BufferedBenchmark.channel:receiveFromChannel                              100             N/A  avgt    5   133.720 ±  11.616  ns/op
BufferedBenchmark.channel:sendToChannel                                   100             N/A  avgt    5   133.720 ±  11.566  ns/op
BufferedBenchmark.channel_iterative                                         1             N/A  avgt    5   204.033 ±  29.866  ns/op
BufferedBenchmark.channel_iterative                                        10             N/A  avgt    5   167.335 ±  12.517  ns/op
BufferedBenchmark.channel_iterative                                       100             N/A  avgt    5   144.292 ±   8.968  ns/op
ChainedBenchmark.chain_iterative                                            0             100  avgt    5   816.663 ±   4.212  ns/op
ChainedBenchmark.chain_iterative                                            0            1000  avgt    5   823.364 ±   3.414  ns/op
ChainedBenchmark.chain_iterative                                            0           10000  avgt    5   822.856 ±  18.714  ns/op
ChainedBenchmark.chain_iterative                                          100             100  avgt    5    29.362 ±   0.502  ns/op
ChainedBenchmark.chain_iterative                                          100            1000  avgt    5    27.843 ±   1.252  ns/op
ChainedBenchmark.chain_iterative                                          100           10000  avgt    5    29.872 ±   1.883  ns/op
RendezvousBenchmark.channel                                               N/A             N/A  avgt    5   182.038 ±  34.540  ns/op
RendezvousBenchmark.channel:receiveFromChannel                            N/A             N/A  avgt    5   182.037 ±  34.536  ns/op
RendezvousBenchmark.channel:sendToChannel                                 N/A             N/A  avgt    5   182.040 ±  34.545  ns/op
RendezvousBenchmark.channel_iterative                                     N/A             N/A  avgt    5   165.976 ±  20.654  ns/op
RendezvousBenchmark.exchanger                                             N/A             N/A  avgt    5    96.877 ±  11.787  ns/op
RendezvousBenchmark.exchanger:exchange1                                   N/A             N/A  avgt    5    96.878 ±  11.786  ns/op
RendezvousBenchmark.exchanger:exchange2                                   N/A             N/A  avgt    5    96.877 ±  11.788  ns/op
RendezvousBenchmark.synchronous_queue                                     N/A             N/A  avgt    5   200.969 ±   4.438  ns/op
RendezvousBenchmark.synchronous_queue:putToSynchronousQueue               N/A             N/A  avgt    5   200.963 ±   4.455  ns/op
RendezvousBenchmark.synchronous_queue:takeFromSynchronousQueue            N/A             N/A  avgt    5   200.975 ±   4.421  ns/op
SelectBenchmark.channel                                                   N/A             N/A  avgt    5   286.023 ±  90.011  ns/op
SelectBenchmark.channel:receiveFromChannelUsingSelect                     N/A             N/A  avgt    5   286.018 ±  90.015  ns/op
SelectBenchmark.channel:sendToChannel                                     N/A             N/A  avgt    5   286.028 ±  90.008  ns/op
SelectBenchmark.single_channel_iterative                                  N/A             N/A  avgt    5   228.574 ±  35.417  ns/op
SelectBenchmark.two_channels_iterative                                    N/A             N/A  avgt    5   243.748 ±  14.666  ns/op

Kotlin:
(capacity)  (channelCount)  Mode  Cnt    Score    Error  Units
BufferedKotlinBenchmark.sendReceiveUsingDefaultDispatcher                              1             N/A  avgt    5  113.589 ±  1.206  ns/op
BufferedKotlinBenchmark.sendReceiveUsingDefaultDispatcher                             10             N/A  avgt    5   54.331 ±  1.714  ns/op
BufferedKotlinBenchmark.sendReceiveUsingDefaultDispatcher                            100             N/A  avgt    5   32.698 ±  0.355  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                            0             100  avgt    5   71.855 ±  6.291  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                            0            1000  avgt    5   59.130 ±  1.023  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                            0           10000  avgt    5   61.018 ±  2.212  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                          100             100  avgt    5   13.661 ±  0.403  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                          100            1000  avgt    5   14.398 ±  0.548  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                          100           10000  avgt    5   14.924 ±  0.660  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                    0             100  avgt    5  100.349 ±  5.670  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                    0            1000  avgt    5  141.805 ± 13.997  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                    0           10000  avgt    5   93.728 ±  3.621  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                  100             100  avgt    5   30.920 ±  1.636  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                  100            1000  avgt    5   29.223 ±  0.133  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                  100           10000  avgt    5   31.378 ±  0.249  ns/op
RendezvousKotlinBenchmark.sendReceiveUsingDefaultDispatcher                          N/A             N/A  avgt    5  146.012 ± 12.334  ns/op
SelectKotlinBenchmark.sendReceiveUsingSelect_singleChannel_defaultDispatcher         N/A             N/A  avgt    5  264.693 ± 16.461  ns/op
SelectKotlinBenchmark.sendReceiveUsingSelect_twoChannels_defaultDispatcher           N/A             N/A  avgt    5  314.644 ± 20.989  ns/op

Copy link

github-actions bot commented Jan 8, 2024

Benchmark results
Java:
(capacity)  (channelCount)  Mode  Cnt     Score    Error  Units
BufferedBenchmark.array_blocking_queue                                      1             N/A  avgt    5  1120.408 ± 99.305  ns/op
BufferedBenchmark.array_blocking_queue:putToArrayBlockingQueue              1             N/A  avgt    5  1120.391 ± 99.334  ns/op
BufferedBenchmark.array_blocking_queue:takeFromArrayBlockingQueue           1             N/A  avgt    5  1120.426 ± 99.276  ns/op
BufferedBenchmark.array_blocking_queue                                     10             N/A  avgt    5   228.407 ± 27.651  ns/op
BufferedBenchmark.array_blocking_queue:putToArrayBlockingQueue             10             N/A  avgt    5   228.408 ± 27.650  ns/op
BufferedBenchmark.array_blocking_queue:takeFromArrayBlockingQueue          10             N/A  avgt    5   228.406 ± 27.653  ns/op
BufferedBenchmark.array_blocking_queue                                    100             N/A  avgt    5   167.494 ± 68.124  ns/op
BufferedBenchmark.array_blocking_queue:putToArrayBlockingQueue            100             N/A  avgt    5   167.493 ± 68.126  ns/op
BufferedBenchmark.array_blocking_queue:takeFromArrayBlockingQueue         100             N/A  avgt    5   167.495 ± 68.121  ns/op
BufferedBenchmark.channel                                                   1             N/A  avgt    5   211.342 ±  9.053  ns/op
BufferedBenchmark.channel:receiveFromChannel                                1             N/A  avgt    5   211.349 ±  9.057  ns/op
BufferedBenchmark.channel:sendToChannel                                     1             N/A  avgt    5   211.336 ±  9.049  ns/op
BufferedBenchmark.channel                                                  10             N/A  avgt    5   172.918 ± 12.412  ns/op
BufferedBenchmark.channel:receiveFromChannel                               10             N/A  avgt    5   172.915 ± 12.427  ns/op
BufferedBenchmark.channel:sendToChannel                                    10             N/A  avgt    5   172.920 ± 12.397  ns/op
BufferedBenchmark.channel                                                 100             N/A  avgt    5   173.704 ± 28.682  ns/op
BufferedBenchmark.channel:receiveFromChannel                              100             N/A  avgt    5   173.701 ± 28.687  ns/op
BufferedBenchmark.channel:sendToChannel                                   100             N/A  avgt    5   173.707 ± 28.677  ns/op
BufferedBenchmark.channel_iterative                                         1             N/A  avgt    5   216.847 ± 23.685  ns/op
BufferedBenchmark.channel_iterative                                        10             N/A  avgt    5   193.353 ± 19.718  ns/op
BufferedBenchmark.channel_iterative                                       100             N/A  avgt    5   134.374 ± 19.792  ns/op
ChainedBenchmark.chain_iterative                                            0             100  avgt    5  7098.875 ± 42.221  ns/op
ChainedBenchmark.chain_iterative                                            0            1000  avgt    5  7089.292 ± 23.737  ns/op
ChainedBenchmark.chain_iterative                                            0           10000  avgt    5  7124.017 ± 17.373  ns/op
ChainedBenchmark.chain_iterative                                          100             100  avgt    5   101.058 ±  1.962  ns/op
ChainedBenchmark.chain_iterative                                          100            1000  avgt    5    98.909 ±  7.470  ns/op
ChainedBenchmark.chain_iterative                                          100           10000  avgt    5   100.146 ± 12.753  ns/op
RendezvousBenchmark.channel                                               N/A             N/A  avgt    5   188.067 ± 11.127  ns/op
RendezvousBenchmark.channel:receiveFromChannel                            N/A             N/A  avgt    5   188.071 ± 11.135  ns/op
RendezvousBenchmark.channel:sendToChannel                                 N/A             N/A  avgt    5   188.062 ± 11.120  ns/op
RendezvousBenchmark.channel_iterative                                     N/A             N/A  avgt    5   179.897 ± 15.514  ns/op
RendezvousBenchmark.exchanger                                             N/A             N/A  avgt    5   128.731 ± 11.884  ns/op
RendezvousBenchmark.exchanger:exchange1                                   N/A             N/A  avgt    5   128.730 ± 11.887  ns/op
RendezvousBenchmark.exchanger:exchange2                                   N/A             N/A  avgt    5   128.731 ± 11.881  ns/op
RendezvousBenchmark.synchronous_queue                                     N/A             N/A  avgt    5   199.536 ± 20.784  ns/op
RendezvousBenchmark.synchronous_queue:putToSynchronousQueue               N/A             N/A  avgt    5   199.538 ± 20.802  ns/op
RendezvousBenchmark.synchronous_queue:takeFromSynchronousQueue            N/A             N/A  avgt    5   199.534 ± 20.766  ns/op
SelectBenchmark.channel                                                   N/A             N/A  avgt    5   227.497 ± 22.357  ns/op
SelectBenchmark.channel:receiveFromChannelUsingSelect                     N/A             N/A  avgt    5   227.497 ± 22.359  ns/op
SelectBenchmark.channel:sendToChannel                                     N/A             N/A  avgt    5   227.497 ± 22.354  ns/op
SelectBenchmark.single_channel_iterative                                  N/A             N/A  avgt    5   239.395 ± 24.018  ns/op
SelectBenchmark.two_channels_iterative                                    N/A             N/A  avgt    5   327.002 ± 55.630  ns/op

Kotlin:
(capacity)  (channelCount)  Mode  Cnt    Score    Error  Units
BufferedKotlinBenchmark.sendReceiveUsingDefaultDispatcher                              1             N/A  avgt    5  113.843 ±  1.641  ns/op
BufferedKotlinBenchmark.sendReceiveUsingDefaultDispatcher                             10             N/A  avgt    5   52.046 ±  2.612  ns/op
BufferedKotlinBenchmark.sendReceiveUsingDefaultDispatcher                            100             N/A  avgt    5   32.116 ±  0.292  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                            0             100  avgt    5   73.205 ±  4.294  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                            0            1000  avgt    5   58.175 ±  2.939  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                            0           10000  avgt    5   60.926 ±  9.375  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                          100             100  avgt    5   13.879 ±  0.440  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                          100            1000  avgt    5   14.544 ±  0.323  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                          100           10000  avgt    5   14.805 ±  0.305  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                    0             100  avgt    5  100.509 ±  4.843  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                    0            1000  avgt    5  154.897 ± 12.744  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                    0           10000  avgt    5  106.269 ± 22.326  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                  100             100  avgt    5   31.668 ±  0.415  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                  100            1000  avgt    5   29.445 ±  0.449  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                  100           10000  avgt    5   32.065 ±  0.290  ns/op
RendezvousKotlinBenchmark.sendReceiveUsingDefaultDispatcher                          N/A             N/A  avgt    5  144.513 ± 23.797  ns/op
SelectKotlinBenchmark.sendReceiveUsingSelect_singleChannel_defaultDispatcher         N/A             N/A  avgt    5  237.914 ±  1.749  ns/op
SelectKotlinBenchmark.sendReceiveUsingSelect_twoChannels_defaultDispatcher           N/A             N/A  avgt    5  358.545 ± 10.239  ns/op

Copy link

github-actions bot commented Jan 9, 2024

Benchmark results
Java:
(capacity)  (channelCount)  Mode  Cnt      Score     Error  Units
BufferedBenchmark.array_blocking_queue                                      1             N/A  avgt    5   1088.743 ±  84.404  ns/op
BufferedBenchmark.array_blocking_queue:putToArrayBlockingQueue              1             N/A  avgt    5   1088.734 ±  84.389  ns/op
BufferedBenchmark.array_blocking_queue:takeFromArrayBlockingQueue           1             N/A  avgt    5   1088.752 ±  84.420  ns/op
BufferedBenchmark.array_blocking_queue                                     10             N/A  avgt    5    234.734 ±  71.732  ns/op
BufferedBenchmark.array_blocking_queue:putToArrayBlockingQueue             10             N/A  avgt    5    234.735 ±  71.718  ns/op
BufferedBenchmark.array_blocking_queue:takeFromArrayBlockingQueue          10             N/A  avgt    5    234.733 ±  71.746  ns/op
BufferedBenchmark.array_blocking_queue                                    100             N/A  avgt    5    158.753 ±  34.855  ns/op
BufferedBenchmark.array_blocking_queue:putToArrayBlockingQueue            100             N/A  avgt    5    158.754 ±  34.859  ns/op
BufferedBenchmark.array_blocking_queue:takeFromArrayBlockingQueue         100             N/A  avgt    5    158.753 ±  34.852  ns/op
BufferedBenchmark.channel                                                   1             N/A  avgt    5    209.391 ±  18.655  ns/op
BufferedBenchmark.channel:receiveFromChannel                                1             N/A  avgt    5    209.393 ±  18.665  ns/op
BufferedBenchmark.channel:sendToChannel                                     1             N/A  avgt    5    209.388 ±  18.646  ns/op
BufferedBenchmark.channel                                                  10             N/A  avgt    5    190.006 ±  14.822  ns/op
BufferedBenchmark.channel:receiveFromChannel                               10             N/A  avgt    5    190.006 ±  14.794  ns/op
BufferedBenchmark.channel:sendToChannel                                    10             N/A  avgt    5    190.006 ±  14.850  ns/op
BufferedBenchmark.channel                                                 100             N/A  avgt    5    149.984 ±  13.619  ns/op
BufferedBenchmark.channel:receiveFromChannel                              100             N/A  avgt    5    149.984 ±  13.626  ns/op
BufferedBenchmark.channel:sendToChannel                                   100             N/A  avgt    5    149.985 ±  13.611  ns/op
BufferedBenchmark.channel_iterative                                         1             N/A  avgt    5    187.744 ±  17.189  ns/op
BufferedBenchmark.channel_iterative                                        10             N/A  avgt    5    166.468 ±  25.686  ns/op
BufferedBenchmark.channel_iterative                                       100             N/A  avgt    5    165.338 ±  10.942  ns/op
ChainedBenchmark.chain_iterative                                            0             100  avgt    5  11883.866 ± 182.317  ns/op
ChainedBenchmark.chain_iterative                                            0            1000  avgt    5  10730.146 ± 203.844  ns/op
ChainedBenchmark.chain_iterative                                            0           10000  avgt    5  10506.141 ± 721.793  ns/op
ChainedBenchmark.chain_iterative                                          100             100  avgt    5    160.738 ±   8.378  ns/op
ChainedBenchmark.chain_iterative                                          100            1000  avgt    5    152.484 ±  26.752  ns/op
ChainedBenchmark.chain_iterative                                          100           10000  avgt    5    217.936 ±  57.874  ns/op
RendezvousBenchmark.channel                                               N/A             N/A  avgt    5    191.560 ±  21.547  ns/op
RendezvousBenchmark.channel:receiveFromChannel                            N/A             N/A  avgt    5    191.561 ±  21.534  ns/op
RendezvousBenchmark.channel:sendToChannel                                 N/A             N/A  avgt    5    191.559 ±  21.561  ns/op
RendezvousBenchmark.channel_iterative                                     N/A             N/A  avgt    5    185.297 ±  31.121  ns/op
RendezvousBenchmark.exchanger                                             N/A             N/A  avgt    5     94.433 ±  10.400  ns/op
RendezvousBenchmark.exchanger:exchange1                                   N/A             N/A  avgt    5     94.432 ±  10.402  ns/op
RendezvousBenchmark.exchanger:exchange2                                   N/A             N/A  avgt    5     94.434 ±  10.397  ns/op
RendezvousBenchmark.synchronous_queue                                     N/A             N/A  avgt    5    211.030 ±  43.619  ns/op
RendezvousBenchmark.synchronous_queue:putToSynchronousQueue               N/A             N/A  avgt    5    211.037 ±  43.634  ns/op
RendezvousBenchmark.synchronous_queue:takeFromSynchronousQueue            N/A             N/A  avgt    5    211.023 ±  43.605  ns/op
SelectBenchmark.channel                                                   N/A             N/A  avgt    5    217.595 ±  10.567  ns/op
SelectBenchmark.channel:receiveFromChannelUsingSelect                     N/A             N/A  avgt    5    217.598 ±  10.572  ns/op
SelectBenchmark.channel:sendToChannel                                     N/A             N/A  avgt    5    217.592 ±  10.563  ns/op
SelectBenchmark.single_channel_iterative                                  N/A             N/A  avgt    5    221.733 ±  22.407  ns/op
SelectBenchmark.two_channels_iterative                                    N/A             N/A  avgt    5    328.093 ±  51.975  ns/op

Kotlin:
(capacity)  (channelCount)  Mode  Cnt    Score    Error  Units
BufferedKotlinBenchmark.sendReceiveUsingDefaultDispatcher                              1             N/A  avgt    5  114.606 ±  0.983  ns/op
BufferedKotlinBenchmark.sendReceiveUsingDefaultDispatcher                             10             N/A  avgt    5   46.749 ±  0.495  ns/op
BufferedKotlinBenchmark.sendReceiveUsingDefaultDispatcher                            100             N/A  avgt    5   32.470 ±  0.330  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                            0             100  avgt    5   68.800 ±  4.988  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                            0            1000  avgt    5   56.089 ±  3.033  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                            0           10000  avgt    5   60.537 ±  1.168  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                          100             100  avgt    5   13.730 ±  0.344  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                          100            1000  avgt    5   15.633 ±  0.098  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                          100           10000  avgt    5   16.572 ±  4.885  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                    0             100  avgt    5  100.857 ±  4.677  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                    0            1000  avgt    5  144.129 ± 20.402  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                    0           10000  avgt    5  102.464 ± 25.383  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                  100             100  avgt    5   31.510 ±  0.363  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                  100            1000  avgt    5   30.896 ±  0.453  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                  100           10000  avgt    5   31.597 ±  0.961  ns/op
RendezvousKotlinBenchmark.sendReceiveUsingDefaultDispatcher                          N/A             N/A  avgt    5  146.115 ±  1.254  ns/op
SelectKotlinBenchmark.sendReceiveUsingSelect_singleChannel_defaultDispatcher         N/A             N/A  avgt    5  250.981 ± 13.259  ns/op
SelectKotlinBenchmark.sendReceiveUsingSelect_twoChannels_defaultDispatcher           N/A             N/A  avgt    5  349.726 ±  6.232  ns/op

Copy link

github-actions bot commented Jan 9, 2024

Benchmark results
Java:
(capacity)  (channelCount)  Mode  Cnt      Score     Error  Units
BufferedBenchmark.array_blocking_queue                                      1             N/A  avgt    5   1103.839 ±  96.751  ns/op
BufferedBenchmark.array_blocking_queue:putToArrayBlockingQueue              1             N/A  avgt    5   1103.840 ±  96.688  ns/op
BufferedBenchmark.array_blocking_queue:takeFromArrayBlockingQueue           1             N/A  avgt    5   1103.837 ±  96.814  ns/op
BufferedBenchmark.array_blocking_queue                                     10             N/A  avgt    5    202.641 ±  23.059  ns/op
BufferedBenchmark.array_blocking_queue:putToArrayBlockingQueue             10             N/A  avgt    5    202.641 ±  23.062  ns/op
BufferedBenchmark.array_blocking_queue:takeFromArrayBlockingQueue          10             N/A  avgt    5    202.640 ±  23.057  ns/op
BufferedBenchmark.array_blocking_queue                                    100             N/A  avgt    5    144.151 ±  54.325  ns/op
BufferedBenchmark.array_blocking_queue:putToArrayBlockingQueue            100             N/A  avgt    5    144.149 ±  54.315  ns/op
BufferedBenchmark.array_blocking_queue:takeFromArrayBlockingQueue         100             N/A  avgt    5    144.153 ±  54.335  ns/op
BufferedBenchmark.channel                                                   1             N/A  avgt    5    219.907 ±  16.921  ns/op
BufferedBenchmark.channel:receiveFromChannel                                1             N/A  avgt    5    219.912 ±  16.941  ns/op
BufferedBenchmark.channel:sendToChannel                                     1             N/A  avgt    5    219.903 ±  16.902  ns/op
BufferedBenchmark.channel                                                  10             N/A  avgt    5    169.197 ±  17.364  ns/op
BufferedBenchmark.channel:receiveFromChannel                               10             N/A  avgt    5    169.196 ±  17.354  ns/op
BufferedBenchmark.channel:sendToChannel                                    10             N/A  avgt    5    169.198 ±  17.375  ns/op
BufferedBenchmark.channel                                                 100             N/A  avgt    5    147.663 ±   8.830  ns/op
BufferedBenchmark.channel:receiveFromChannel                              100             N/A  avgt    5    147.670 ±   8.825  ns/op
BufferedBenchmark.channel:sendToChannel                                   100             N/A  avgt    5    147.656 ±   8.835  ns/op
BufferedBenchmark.channel_iterative                                         1             N/A  avgt    5    232.703 ±  22.393  ns/op
BufferedBenchmark.channel_iterative                                        10             N/A  avgt    5    171.349 ±  23.741  ns/op
BufferedBenchmark.channel_iterative                                       100             N/A  avgt    5    168.267 ±  18.366  ns/op
ChainedBenchmark.chain_iterative                                            0             100  avgt    5  11892.370 ± 207.429  ns/op
ChainedBenchmark.chain_iterative                                            0            1000  avgt    5  10723.118 ± 268.048  ns/op
ChainedBenchmark.chain_iterative                                            0           10000  avgt    5  10505.568 ± 394.266  ns/op
ChainedBenchmark.chain_iterative                                          100             100  avgt    5    160.180 ±   6.879  ns/op
ChainedBenchmark.chain_iterative                                          100            1000  avgt    5    157.113 ±  19.500  ns/op
ChainedBenchmark.chain_iterative                                          100           10000  avgt    5    207.179 ±  57.050  ns/op
RendezvousBenchmark.channel                                               N/A             N/A  avgt    5    181.081 ±  24.989  ns/op
RendezvousBenchmark.channel:receiveFromChannel                            N/A             N/A  avgt    5    181.078 ±  24.998  ns/op
RendezvousBenchmark.channel:sendToChannel                                 N/A             N/A  avgt    5    181.084 ±  24.980  ns/op
RendezvousBenchmark.channel_iterative                                     N/A             N/A  avgt    5    184.171 ±  18.610  ns/op
RendezvousBenchmark.exchanger                                             N/A             N/A  avgt    5     90.332 ±  27.309  ns/op
RendezvousBenchmark.exchanger:exchange1                                   N/A             N/A  avgt    5     90.332 ±  27.308  ns/op
RendezvousBenchmark.exchanger:exchange2                                   N/A             N/A  avgt    5     90.331 ±  27.311  ns/op
RendezvousBenchmark.synchronous_queue                                     N/A             N/A  avgt    5    210.472 ±  39.841  ns/op
RendezvousBenchmark.synchronous_queue:putToSynchronousQueue               N/A             N/A  avgt    5    210.471 ±  39.802  ns/op
RendezvousBenchmark.synchronous_queue:takeFromSynchronousQueue            N/A             N/A  avgt    5    210.473 ±  39.880  ns/op
SelectBenchmark.channel                                                   N/A             N/A  avgt    5    224.810 ±  11.836  ns/op
SelectBenchmark.channel:receiveFromChannelUsingSelect                     N/A             N/A  avgt    5    224.819 ±  11.842  ns/op
SelectBenchmark.channel:sendToChannel                                     N/A             N/A  avgt    5    224.801 ±  11.831  ns/op
SelectBenchmark.single_channel_iterative                                  N/A             N/A  avgt    5    213.677 ±   9.211  ns/op
SelectBenchmark.two_channels_iterative                                    N/A             N/A  avgt    5    307.633 ±  26.188  ns/op

Kotlin:
(capacity)  (channelCount)  Mode  Cnt    Score    Error  Units
BufferedKotlinBenchmark.sendReceiveUsingDefaultDispatcher                              1             N/A  avgt    5  108.710 ±  0.742  ns/op
BufferedKotlinBenchmark.sendReceiveUsingDefaultDispatcher                             10             N/A  avgt    5   49.065 ±  0.504  ns/op
BufferedKotlinBenchmark.sendReceiveUsingDefaultDispatcher                            100             N/A  avgt    5   32.078 ±  0.463  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                            0             100  avgt    5   70.844 ±  3.305  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                            0            1000  avgt    5   55.894 ±  2.189  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                            0           10000  avgt    5   61.218 ±  1.516  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                          100             100  avgt    5   13.778 ±  0.373  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                          100            1000  avgt    5   14.358 ±  0.761  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                          100           10000  avgt    5   14.789 ±  0.687  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                    0             100  avgt    5  102.113 ±  9.325  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                    0            1000  avgt    5  140.488 ± 22.773  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                    0           10000  avgt    5   97.479 ±  4.039  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                  100             100  avgt    5   30.246 ±  0.200  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                  100            1000  avgt    5   32.274 ±  0.138  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                  100           10000  avgt    5   31.658 ±  0.279  ns/op
RendezvousKotlinBenchmark.sendReceiveUsingDefaultDispatcher                          N/A             N/A  avgt    5  144.859 ± 12.348  ns/op
SelectKotlinBenchmark.sendReceiveUsingSelect_singleChannel_defaultDispatcher         N/A             N/A  avgt    5  268.599 ±  1.281  ns/op
SelectKotlinBenchmark.sendReceiveUsingSelect_twoChannels_defaultDispatcher           N/A             N/A  avgt    5  354.141 ±  3.698  ns/op

Copy link

github-actions bot commented Jan 9, 2024

Benchmark results
Java:
(capacity)  (channelCount)  Mode  Cnt      Score     Error  Units
BufferedBenchmark.array_blocking_queue                                      1             N/A  avgt    5   1291.152 ± 764.215  ns/op
BufferedBenchmark.array_blocking_queue:putToArrayBlockingQueue              1             N/A  avgt    5   1291.157 ± 764.255  ns/op
BufferedBenchmark.array_blocking_queue:takeFromArrayBlockingQueue           1             N/A  avgt    5   1291.148 ± 764.174  ns/op
BufferedBenchmark.array_blocking_queue                                     10             N/A  avgt    5    247.005 ±  33.555  ns/op
BufferedBenchmark.array_blocking_queue:putToArrayBlockingQueue             10             N/A  avgt    5    247.008 ±  33.546  ns/op
BufferedBenchmark.array_blocking_queue:takeFromArrayBlockingQueue          10             N/A  avgt    5    247.001 ±  33.564  ns/op
BufferedBenchmark.array_blocking_queue                                    100             N/A  avgt    5    159.602 ±  20.330  ns/op
BufferedBenchmark.array_blocking_queue:putToArrayBlockingQueue            100             N/A  avgt    5    159.602 ±  20.335  ns/op
BufferedBenchmark.array_blocking_queue:takeFromArrayBlockingQueue         100             N/A  avgt    5    159.602 ±  20.325  ns/op
BufferedBenchmark.channel                                                   1             N/A  avgt    5    195.971 ±  13.007  ns/op
BufferedBenchmark.channel:receiveFromChannel                                1             N/A  avgt    5    195.971 ±  12.999  ns/op
BufferedBenchmark.channel:sendToChannel                                     1             N/A  avgt    5    195.971 ±  13.014  ns/op
BufferedBenchmark.channel                                                  10             N/A  avgt    5    176.602 ±  17.342  ns/op
BufferedBenchmark.channel:receiveFromChannel                               10             N/A  avgt    5    176.601 ±  17.337  ns/op
BufferedBenchmark.channel:sendToChannel                                    10             N/A  avgt    5    176.603 ±  17.347  ns/op
BufferedBenchmark.channel                                                 100             N/A  avgt    5    134.485 ±   9.882  ns/op
BufferedBenchmark.channel:receiveFromChannel                              100             N/A  avgt    5    134.486 ±   9.878  ns/op
BufferedBenchmark.channel:sendToChannel                                   100             N/A  avgt    5    134.484 ±   9.885  ns/op
BufferedBenchmark.channel_iterative                                         1             N/A  avgt    5    215.492 ±  15.006  ns/op
BufferedBenchmark.channel_iterative                                        10             N/A  avgt    5    173.578 ±  11.344  ns/op
BufferedBenchmark.channel_iterative                                       100             N/A  avgt    5    123.443 ±   4.711  ns/op
ChainedBenchmark.chain_iterative                                            0             100  avgt    5  11857.175 ± 197.779  ns/op
ChainedBenchmark.chain_iterative                                            0            1000  avgt    5  10625.955 ± 257.132  ns/op
ChainedBenchmark.chain_iterative                                            0           10000  avgt    5  10396.761 ± 376.528  ns/op
ChainedBenchmark.chain_iterative                                          100             100  avgt    5    161.951 ±   4.744  ns/op
ChainedBenchmark.chain_iterative                                          100            1000  avgt    5    161.068 ±  10.253  ns/op
ChainedBenchmark.chain_iterative                                          100           10000  avgt    5    207.408 ±  34.990  ns/op
RendezvousBenchmark.channel                                               N/A             N/A  avgt    5    189.606 ±  25.022  ns/op
RendezvousBenchmark.channel:receiveFromChannel                            N/A             N/A  avgt    5    189.606 ±  25.006  ns/op
RendezvousBenchmark.channel:sendToChannel                                 N/A             N/A  avgt    5    189.605 ±  25.037  ns/op
RendezvousBenchmark.channel_iterative                                     N/A             N/A  avgt    5    181.073 ±  20.555  ns/op
RendezvousBenchmark.exchanger                                             N/A             N/A  avgt    5    104.797 ±  70.110  ns/op
RendezvousBenchmark.exchanger:exchange1                                   N/A             N/A  avgt    5    104.796 ±  70.105  ns/op
RendezvousBenchmark.exchanger:exchange2                                   N/A             N/A  avgt    5    104.799 ±  70.115  ns/op
RendezvousBenchmark.synchronous_queue                                     N/A             N/A  avgt    5    207.994 ±  26.295  ns/op
RendezvousBenchmark.synchronous_queue:putToSynchronousQueue               N/A             N/A  avgt    5    207.998 ±  26.273  ns/op
RendezvousBenchmark.synchronous_queue:takeFromSynchronousQueue            N/A             N/A  avgt    5    207.990 ±  26.317  ns/op
SelectBenchmark.channel                                                   N/A             N/A  avgt    5    254.300 ±  11.802  ns/op
SelectBenchmark.channel:receiveFromChannelUsingSelect                     N/A             N/A  avgt    5    254.298 ±  11.764  ns/op
SelectBenchmark.channel:sendToChannel                                     N/A             N/A  avgt    5    254.302 ±  11.839  ns/op
SelectBenchmark.single_channel_iterative                                  N/A             N/A  avgt    5    416.425 ±  68.042  ns/op
SelectBenchmark.two_channels_iterative                                    N/A             N/A  avgt    5    224.547 ±  33.158  ns/op

Kotlin:
(capacity)  (channelCount)  Mode  Cnt    Score    Error  Units
BufferedKotlinBenchmark.sendReceiveUsingDefaultDispatcher                              1             N/A  avgt    5  111.780 ±  0.741  ns/op
BufferedKotlinBenchmark.sendReceiveUsingDefaultDispatcher                             10             N/A  avgt    5   51.783 ±  0.274  ns/op
BufferedKotlinBenchmark.sendReceiveUsingDefaultDispatcher                            100             N/A  avgt    5   32.407 ±  2.421  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                            0             100  avgt    5   71.143 ±  4.014  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                            0            1000  avgt    5   57.309 ±  2.738  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                            0           10000  avgt    5   56.267 ±  2.834  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                          100             100  avgt    5   13.627 ±  0.559  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                          100            1000  avgt    5   13.186 ±  0.102  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                          100           10000  avgt    5   15.292 ±  0.900  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                    0             100  avgt    5  100.348 ±  4.896  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                    0            1000  avgt    5  148.390 ±  9.295  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                    0           10000  avgt    5   94.168 ±  3.315  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                  100             100  avgt    5   29.367 ±  0.376  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                  100            1000  avgt    5   31.193 ±  0.524  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                  100           10000  avgt    5   32.084 ±  0.553  ns/op
RendezvousKotlinBenchmark.sendReceiveUsingDefaultDispatcher                          N/A             N/A  avgt    5  137.443 ± 23.855  ns/op
SelectKotlinBenchmark.sendReceiveUsingSelect_singleChannel_defaultDispatcher         N/A             N/A  avgt    5  269.624 ±  5.713  ns/op
SelectKotlinBenchmark.sendReceiveUsingSelect_twoChannels_defaultDispatcher           N/A             N/A  avgt    5  362.360 ±  2.298  ns/op

Copy link

github-actions bot commented Jan 9, 2024

Benchmark results
Java:
(capacity)  (channelCount)  Mode  Cnt     Score     Error  Units
BufferedBenchmark.array_blocking_queue                                      1             N/A  avgt    5  1274.542 ± 461.888  ns/op
BufferedBenchmark.array_blocking_queue:putToArrayBlockingQueue              1             N/A  avgt    5  1274.518 ± 461.806  ns/op
BufferedBenchmark.array_blocking_queue:takeFromArrayBlockingQueue           1             N/A  avgt    5  1274.567 ± 461.969  ns/op
BufferedBenchmark.array_blocking_queue                                     10             N/A  avgt    5   249.705 ±  66.503  ns/op
BufferedBenchmark.array_blocking_queue:putToArrayBlockingQueue             10             N/A  avgt    5   249.704 ±  66.501  ns/op
BufferedBenchmark.array_blocking_queue:takeFromArrayBlockingQueue          10             N/A  avgt    5   249.707 ±  66.504  ns/op
BufferedBenchmark.array_blocking_queue                                    100             N/A  avgt    5   161.557 ± 102.271  ns/op
BufferedBenchmark.array_blocking_queue:putToArrayBlockingQueue            100             N/A  avgt    5   161.558 ± 102.273  ns/op
BufferedBenchmark.array_blocking_queue:takeFromArrayBlockingQueue         100             N/A  avgt    5   161.557 ± 102.269  ns/op
BufferedBenchmark.channel                                                   1             N/A  avgt    5   205.806 ±  53.786  ns/op
BufferedBenchmark.channel:receiveFromChannel                                1             N/A  avgt    5   205.807 ±  53.770  ns/op
BufferedBenchmark.channel:sendToChannel                                     1             N/A  avgt    5   205.806 ±  53.802  ns/op
BufferedBenchmark.channel                                                  10             N/A  avgt    5   179.689 ±  32.633  ns/op
BufferedBenchmark.channel:receiveFromChannel                               10             N/A  avgt    5   179.690 ±  32.638  ns/op
BufferedBenchmark.channel:sendToChannel                                    10             N/A  avgt    5   179.687 ±  32.628  ns/op
BufferedBenchmark.channel                                                 100             N/A  avgt    5   126.822 ±   7.468  ns/op
BufferedBenchmark.channel:receiveFromChannel                              100             N/A  avgt    5   126.822 ±   7.471  ns/op
BufferedBenchmark.channel:sendToChannel                                   100             N/A  avgt    5   126.822 ±   7.465  ns/op
BufferedBenchmark.channel_iterative                                         1             N/A  avgt    5   184.697 ±  49.662  ns/op
BufferedBenchmark.channel_iterative                                        10             N/A  avgt    5   169.758 ±  36.356  ns/op
BufferedBenchmark.channel_iterative                                       100             N/A  avgt    5   122.594 ±  10.720  ns/op
ChainedBenchmark.chain_iterative                                            0             100  avgt    5  1020.771 ±  13.882  ns/op
ChainedBenchmark.chain_iterative                                            0            1000  avgt    5  1015.973 ±  20.851  ns/op
ChainedBenchmark.chain_iterative                                            0           10000  avgt    5  1050.593 ±  18.007  ns/op
ChainedBenchmark.chain_iterative                                          100             100  avgt    5    29.832 ±   0.315  ns/op
ChainedBenchmark.chain_iterative                                          100            1000  avgt    5    31.324 ±   0.899  ns/op
ChainedBenchmark.chain_iterative                                          100           10000  avgt    5    31.646 ±   1.647  ns/op
RendezvousBenchmark.channel                                               N/A             N/A  avgt    5   175.493 ±  18.790  ns/op
RendezvousBenchmark.channel:receiveFromChannel                            N/A             N/A  avgt    5   175.491 ±  18.772  ns/op
RendezvousBenchmark.channel:sendToChannel                                 N/A             N/A  avgt    5   175.495 ±  18.807  ns/op
RendezvousBenchmark.channel_iterative                                     N/A             N/A  avgt    5   186.107 ±  25.967  ns/op
RendezvousBenchmark.exchanger                                             N/A             N/A  avgt    5    85.892 ±   7.743  ns/op
RendezvousBenchmark.exchanger:exchange1                                   N/A             N/A  avgt    5    85.891 ±   7.744  ns/op
RendezvousBenchmark.exchanger:exchange2                                   N/A             N/A  avgt    5    85.893 ±   7.742  ns/op
RendezvousBenchmark.synchronous_queue                                     N/A             N/A  avgt    5   204.687 ±  35.583  ns/op
RendezvousBenchmark.synchronous_queue:putToSynchronousQueue               N/A             N/A  avgt    5   204.694 ±  35.603  ns/op
RendezvousBenchmark.synchronous_queue:takeFromSynchronousQueue            N/A             N/A  avgt    5   204.680 ±  35.563  ns/op
SelectBenchmark.channel                                                   N/A             N/A  avgt    5   202.863 ±  22.791  ns/op
SelectBenchmark.channel:receiveFromChannelUsingSelect                     N/A             N/A  avgt    5   202.859 ±  22.800  ns/op
SelectBenchmark.channel:sendToChannel                                     N/A             N/A  avgt    5   202.867 ±  22.782  ns/op
SelectBenchmark.single_channel_iterative                                  N/A             N/A  avgt    5   214.341 ±  29.913  ns/op
SelectBenchmark.two_channels_iterative                                    N/A             N/A  avgt    5   205.529 ±   7.810  ns/op

Kotlin:
(capacity)  (channelCount)  Mode  Cnt    Score    Error  Units
BufferedKotlinBenchmark.sendReceiveUsingDefaultDispatcher                              1             N/A  avgt    5  116.398 ±  2.564  ns/op
BufferedKotlinBenchmark.sendReceiveUsingDefaultDispatcher                             10             N/A  avgt    5   52.427 ±  1.225  ns/op
BufferedKotlinBenchmark.sendReceiveUsingDefaultDispatcher                            100             N/A  avgt    5   32.223 ±  0.308  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                            0             100  avgt    5   73.721 ±  3.574  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                            0            1000  avgt    5   59.510 ±  3.839  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                            0           10000  avgt    5   58.452 ±  0.907  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                          100             100  avgt    5   13.641 ±  0.496  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                          100            1000  avgt    5   13.842 ±  0.525  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                          100           10000  avgt    5   14.786 ±  0.272  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                    0             100  avgt    5   91.900 ±  3.587  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                    0            1000  avgt    5  143.420 ± 12.246  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                    0           10000  avgt    5   94.824 ±  6.124  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                  100             100  avgt    5   30.906 ±  1.571  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                  100            1000  avgt    5   30.284 ±  2.706  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                  100           10000  avgt    5   32.314 ±  0.261  ns/op
RendezvousKotlinBenchmark.sendReceiveUsingDefaultDispatcher                          N/A             N/A  avgt    5  146.494 ±  8.188  ns/op
SelectKotlinBenchmark.sendReceiveUsingSelect_singleChannel_defaultDispatcher         N/A             N/A  avgt    5  269.214 ± 12.737  ns/op
SelectKotlinBenchmark.sendReceiveUsingSelect_twoChannels_defaultDispatcher           N/A             N/A  avgt    5  326.742 ± 37.597  ns/op

Copy link

github-actions bot commented Jan 9, 2024

Benchmark results
Java:
(capacity)  (channelCount)  Mode  Cnt     Score     Error  Units
BufferedBenchmark.array_blocking_queue                                      1             N/A  avgt    5  1103.072 ± 168.423  ns/op
BufferedBenchmark.array_blocking_queue:putToArrayBlockingQueue              1             N/A  avgt    5  1103.065 ± 168.387  ns/op
BufferedBenchmark.array_blocking_queue:takeFromArrayBlockingQueue           1             N/A  avgt    5  1103.079 ± 168.460  ns/op
BufferedBenchmark.array_blocking_queue                                     10             N/A  avgt    5   207.378 ±  21.886  ns/op
BufferedBenchmark.array_blocking_queue:putToArrayBlockingQueue             10             N/A  avgt    5   207.378 ±  21.895  ns/op
BufferedBenchmark.array_blocking_queue:takeFromArrayBlockingQueue          10             N/A  avgt    5   207.378 ±  21.877  ns/op
BufferedBenchmark.array_blocking_queue                                    100             N/A  avgt    5   137.365 ±  34.622  ns/op
BufferedBenchmark.array_blocking_queue:putToArrayBlockingQueue            100             N/A  avgt    5   137.365 ±  34.622  ns/op
BufferedBenchmark.array_blocking_queue:takeFromArrayBlockingQueue         100             N/A  avgt    5   137.365 ±  34.623  ns/op
BufferedBenchmark.channel                                                   1             N/A  avgt    5   201.631 ±  25.980  ns/op
BufferedBenchmark.channel:receiveFromChannel                                1             N/A  avgt    5   201.626 ±  26.012  ns/op
BufferedBenchmark.channel:sendToChannel                                     1             N/A  avgt    5   201.636 ±  25.948  ns/op
BufferedBenchmark.channel                                                  10             N/A  avgt    5   182.744 ±  14.186  ns/op
BufferedBenchmark.channel:receiveFromChannel                               10             N/A  avgt    5   182.744 ±  14.188  ns/op
BufferedBenchmark.channel:sendToChannel                                    10             N/A  avgt    5   182.744 ±  14.183  ns/op
BufferedBenchmark.channel                                                 100             N/A  avgt    5   150.991 ±   2.932  ns/op
BufferedBenchmark.channel:receiveFromChannel                              100             N/A  avgt    5   150.992 ±   2.925  ns/op
BufferedBenchmark.channel:sendToChannel                                   100             N/A  avgt    5   150.990 ±   2.939  ns/op
BufferedBenchmark.channel_iterative                                         1             N/A  avgt    5   204.100 ±  22.461  ns/op
BufferedBenchmark.channel_iterative                                        10             N/A  avgt    5   177.118 ±  19.526  ns/op
BufferedBenchmark.channel_iterative                                       100             N/A  avgt    5   160.116 ±  23.547  ns/op
ChainedBenchmark.chain_iterative                                            0             100  avgt    5  7234.502 ±  18.831  ns/op
ChainedBenchmark.chain_iterative                                            0            1000  avgt    5  7238.596 ±  19.006  ns/op
ChainedBenchmark.chain_iterative                                            0           10000  avgt    5  7292.471 ±  22.441  ns/op
ChainedBenchmark.chain_iterative                                          100             100  avgt    5   103.806 ±   1.314  ns/op
ChainedBenchmark.chain_iterative                                          100            1000  avgt    5   102.526 ±   6.406  ns/op
ChainedBenchmark.chain_iterative                                          100           10000  avgt    5   102.019 ±   7.075  ns/op
RendezvousBenchmark.channel                                               N/A             N/A  avgt    5   182.722 ±   4.347  ns/op
RendezvousBenchmark.channel:receiveFromChannel                            N/A             N/A  avgt    5   182.724 ±   4.336  ns/op
RendezvousBenchmark.channel:sendToChannel                                 N/A             N/A  avgt    5   182.720 ±   4.358  ns/op
RendezvousBenchmark.channel_iterative                                     N/A             N/A  avgt    5   182.011 ±  21.558  ns/op
RendezvousBenchmark.exchanger                                             N/A             N/A  avgt    5   100.285 ±  11.061  ns/op
RendezvousBenchmark.exchanger:exchange1                                   N/A             N/A  avgt    5   100.285 ±  11.058  ns/op
RendezvousBenchmark.exchanger:exchange2                                   N/A             N/A  avgt    5   100.285 ±  11.065  ns/op
RendezvousBenchmark.synchronous_queue                                     N/A             N/A  avgt    5   216.506 ±  30.894  ns/op
RendezvousBenchmark.synchronous_queue:putToSynchronousQueue               N/A             N/A  avgt    5   216.505 ±  30.882  ns/op
RendezvousBenchmark.synchronous_queue:takeFromSynchronousQueue            N/A             N/A  avgt    5   216.507 ±  30.905  ns/op
SelectBenchmark.channel                                                   N/A             N/A  avgt    5   243.639 ±  14.418  ns/op
SelectBenchmark.channel:receiveFromChannelUsingSelect                     N/A             N/A  avgt    5   243.636 ±  14.435  ns/op
SelectBenchmark.channel:sendToChannel                                     N/A             N/A  avgt    5   243.643 ±  14.401  ns/op
SelectBenchmark.single_channel_iterative                                  N/A             N/A  avgt    5   409.145 ±  23.570  ns/op
SelectBenchmark.two_channels_iterative                                    N/A             N/A  avgt    5   313.825 ±  12.587  ns/op

Kotlin:
(capacity)  (channelCount)  Mode  Cnt    Score    Error  Units
BufferedKotlinBenchmark.sendReceiveUsingDefaultDispatcher                              1             N/A  avgt    5  111.249 ±  0.055  ns/op
BufferedKotlinBenchmark.sendReceiveUsingDefaultDispatcher                             10             N/A  avgt    5   49.387 ±  0.347  ns/op
BufferedKotlinBenchmark.sendReceiveUsingDefaultDispatcher                            100             N/A  avgt    5   33.339 ±  2.963  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                            0             100  avgt    5   69.220 ±  4.275  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                            0            1000  avgt    5   56.776 ±  1.670  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                            0           10000  avgt    5   60.897 ±  6.168  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                          100             100  avgt    5   13.671 ±  0.358  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                          100            1000  avgt    5   14.532 ±  0.683  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                          100           10000  avgt    5   15.376 ±  0.648  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                    0             100  avgt    5  100.126 ±  5.264  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                    0            1000  avgt    5  141.930 ± 10.694  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                    0           10000  avgt    5   93.716 ±  3.672  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                  100             100  avgt    5   29.634 ±  0.449  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                  100            1000  avgt    5   29.413 ±  0.409  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                  100           10000  avgt    5   33.577 ±  0.343  ns/op
RendezvousKotlinBenchmark.sendReceiveUsingDefaultDispatcher                          N/A             N/A  avgt    5  147.025 ±  1.266  ns/op
SelectKotlinBenchmark.sendReceiveUsingSelect_singleChannel_defaultDispatcher         N/A             N/A  avgt    5  238.734 ± 46.295  ns/op
SelectKotlinBenchmark.sendReceiveUsingSelect_twoChannels_defaultDispatcher           N/A             N/A  avgt    5  321.695 ±  4.558  ns/op

Copy link

github-actions bot commented Jan 9, 2024

Benchmark results
Java:
(capacity)  (channelCount)  Mode  Cnt     Score     Error  Units
BufferedBenchmark.arrayBlockingQueue             1             N/A  avgt    5  1120.948 ± 211.635  ns/op
BufferedBenchmark.arrayBlockingQueue            10             N/A  avgt    5   201.790 ±   9.912  ns/op
BufferedBenchmark.arrayBlockingQueue           100             N/A  avgt    5   137.793 ±  20.908  ns/op
BufferedBenchmark.channel                        1             N/A  avgt    5   211.795 ±  23.877  ns/op
BufferedBenchmark.channel                       10             N/A  avgt    5   187.949 ±  41.209  ns/op
BufferedBenchmark.channel                      100             N/A  avgt    5   156.062 ±  18.704  ns/op
ChainedBenchmark.chain                           0             100  avgt    5  1007.326 ±  12.334  ns/op
ChainedBenchmark.chain                           0            1000  avgt    5  1027.181 ±   6.546  ns/op
ChainedBenchmark.chain                           0           10000  avgt    5  1026.393 ±  17.635  ns/op
ChainedBenchmark.chain                         100             100  avgt    5    31.476 ±   0.472  ns/op
ChainedBenchmark.chain                         100            1000  avgt    5    31.210 ±   0.571  ns/op
ChainedBenchmark.chain                         100           10000  avgt    5    32.524 ±   1.903  ns/op
RendezvousBenchmark.channel                    N/A             N/A  avgt    5   179.120 ±  23.288  ns/op
RendezvousBenchmark.exchanger                  N/A             N/A  avgt    5    92.841 ±  12.080  ns/op
RendezvousBenchmark.synchronousQueue           N/A             N/A  avgt    5   213.101 ±  37.776  ns/op
SelectBenchmark.selectWithSingleClause         N/A             N/A  avgt    5   219.801 ±  45.228  ns/op
SelectBenchmark.selectWithTwoClauses           N/A             N/A  avgt    5   206.182 ±  13.013  ns/op

Kotlin:
(capacity)  (channelCount)  Mode  Cnt    Score    Error  Units
BufferedKotlinBenchmark.sendReceiveUsingDefaultDispatcher                              1             N/A  avgt    5  118.396 ±  1.746  ns/op
BufferedKotlinBenchmark.sendReceiveUsingDefaultDispatcher                             10             N/A  avgt    5   52.588 ±  0.195  ns/op
BufferedKotlinBenchmark.sendReceiveUsingDefaultDispatcher                            100             N/A  avgt    5   32.584 ±  2.011  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                            0             100  avgt    5   69.465 ±  3.902  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                            0            1000  avgt    5   61.337 ±  6.045  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                            0           10000  avgt    5   57.872 ±  1.036  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                          100             100  avgt    5   13.578 ±  0.348  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                          100            1000  avgt    5   14.208 ±  0.927  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_defaultDispatcher                          100           10000  avgt    5   14.818 ±  0.652  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                    0             100  avgt    5  100.440 ±  4.283  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                    0            1000  avgt    5  141.837 ± 14.270  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                    0           10000  avgt    5   95.930 ±  3.467  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                  100             100  avgt    5   30.532 ±  0.164  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                  100            1000  avgt    5   30.630 ±  0.260  ns/op
ChainedKotlinBenchmark.sendReceiveInChain_eventLoop                                  100           10000  avgt    5   31.557 ±  0.362  ns/op
RendezvousKotlinBenchmark.sendReceiveUsingDefaultDispatcher                          N/A             N/A  avgt    5  138.100 ±  2.988  ns/op
SelectKotlinBenchmark.sendReceiveUsingSelect_singleChannel_defaultDispatcher         N/A             N/A  avgt    5  266.714 ±  1.445  ns/op
SelectKotlinBenchmark.sendReceiveUsingSelect_twoChannels_defaultDispatcher           N/A             N/A  avgt    5  353.780 ±  6.697  ns/op

Copy link

github-actions bot commented Jan 9, 2024

Benchmark results
Java:
(capacity)  (chainLength)  Mode  Cnt     Score     Error  Units
BufferedBenchmark.arrayBlockingQueue             1            N/A  avgt    5  1247.924 ± 708.068  ns/op
BufferedBenchmark.arrayBlockingQueue            10            N/A  avgt    5   216.358 ±  20.386  ns/op
BufferedBenchmark.arrayBlockingQueue           100            N/A  avgt    5   146.763 ±  24.682  ns/op
BufferedBenchmark.channel                        1            N/A  avgt    5   211.788 ±  38.290  ns/op
BufferedBenchmark.channel                       10            N/A  avgt    5   175.938 ±  38.031  ns/op
BufferedBenchmark.channel                      100            N/A  avgt    5   153.534 ±  19.997  ns/op
ChainedBenchmark.channelChain                    0            100  avgt    5  1012.916 ±  13.199  ns/op
ChainedBenchmark.channelChain                    0           1000  avgt    5  1017.428 ±  16.823  ns/op
ChainedBenchmark.channelChain                    0          10000  avgt    5  1033.962 ±  27.816  ns/op
ChainedBenchmark.channelChain                  100            100  avgt    5    30.413 ±   0.768  ns/op
ChainedBenchmark.channelChain                  100           1000  avgt    5    30.674 ±   1.382  ns/op
ChainedBenchmark.channelChain                  100          10000  avgt    5    31.954 ±   1.409  ns/op
ChainedBenchmark.queueChain                      0            100  avgt    5   151.986 ±   6.142  ns/op
ChainedBenchmark.queueChain                      0           1000  avgt    5   113.338 ±  32.555  ns/op
ChainedBenchmark.queueChain                      0          10000  avgt    5   128.272 ±  14.483  ns/op
ChainedBenchmark.queueChain                    100            100  avgt    5    14.617 ±   0.562  ns/op
ChainedBenchmark.queueChain                    100           1000  avgt    5    12.880 ±   1.642  ns/op
ChainedBenchmark.queueChain                    100          10000  avgt    5    14.774 ±   1.574  ns/op
RendezvousBenchmark.channel                    N/A            N/A  avgt    5   170.725 ±  23.595  ns/op
RendezvousBenchmark.exchanger                  N/A            N/A  avgt    5    89.276 ±  12.709  ns/op
RendezvousBenchmark.synchronousQueue           N/A            N/A  avgt    5   205.087 ±  30.837  ns/op
SelectBenchmark.selectWithSingleClause         N/A            N/A  avgt    5   225.213 ±  48.431  ns/op
SelectBenchmark.selectWithTwoClauses           N/A            N/A  avgt    5   206.900 ±  27.347  ns/op

Kotlin:
(capacity)  (chainLength)  Mode  Cnt    Score    Error  Units
BufferedKotlinBenchmark.channel_defaultDispatcher                        1            N/A  avgt    5  110.548 ±  5.491  ns/op
BufferedKotlinBenchmark.channel_defaultDispatcher                       10            N/A  avgt    5   53.043 ±  2.918  ns/op
BufferedKotlinBenchmark.channel_defaultDispatcher                      100            N/A  avgt    5   32.580 ±  2.268  ns/op
ChainedKotlinBenchmark.channelChain_defaultDispatcher                    0            100  avgt    5   70.806 ±  7.092  ns/op
ChainedKotlinBenchmark.channelChain_defaultDispatcher                    0           1000  avgt    5  144.416 ±  8.207  ns/op
ChainedKotlinBenchmark.channelChain_defaultDispatcher                    0          10000  avgt    5   63.277 ±  6.430  ns/op
ChainedKotlinBenchmark.channelChain_defaultDispatcher                  100            100  avgt    5   13.845 ±  0.839  ns/op
ChainedKotlinBenchmark.channelChain_defaultDispatcher                  100           1000  avgt    5   13.807 ±  0.423  ns/op
ChainedKotlinBenchmark.channelChain_defaultDispatcher                  100          10000  avgt    5   14.189 ±  0.524  ns/op
ChainedKotlinBenchmark.channelChain_eventLoop                            0            100  avgt    5  102.979 ±  7.529  ns/op
ChainedKotlinBenchmark.channelChain_eventLoop                            0           1000  avgt    5  144.083 ± 25.144  ns/op
ChainedKotlinBenchmark.channelChain_eventLoop                            0          10000  avgt    5   93.841 ±  3.878  ns/op
ChainedKotlinBenchmark.channelChain_eventLoop                          100            100  avgt    5   30.073 ±  0.950  ns/op
ChainedKotlinBenchmark.channelChain_eventLoop                          100           1000  avgt    5   30.198 ±  0.295  ns/op
ChainedKotlinBenchmark.channelChain_eventLoop                          100          10000  avgt    5   31.283 ±  0.329  ns/op
RendezvousKotlinBenchmark.channel_defaultDispatcher                    N/A            N/A  avgt    5  141.649 ±  1.361  ns/op
SelectKotlinBenchmark.selectWithSingleClause_defaultDispatcher         N/A            N/A  avgt    5  240.550 ±  7.945  ns/op
SelectKotlinBenchmark.selectWithTwoClauses_defaultDispatcher           N/A            N/A  avgt    5  320.201 ±  3.253  ns/op

Copy link

github-actions bot commented Jan 9, 2024

Benchmark results
Java:
(capacity)  (chainLength)  Mode  Cnt     Score     Error  Units
BufferedBenchmark.arrayBlockingQueue             1            N/A  avgt    5  1115.311 ± 456.463  ns/op
BufferedBenchmark.arrayBlockingQueue            10            N/A  avgt    5   207.905 ±  20.179  ns/op
BufferedBenchmark.arrayBlockingQueue           100            N/A  avgt    5   148.404 ±  12.618  ns/op
BufferedBenchmark.channel                        1            N/A  avgt    5   203.079 ±  34.659  ns/op
BufferedBenchmark.channel                       10            N/A  avgt    5   175.511 ±  43.480  ns/op
BufferedBenchmark.channel                      100            N/A  avgt    5   155.453 ±  36.454  ns/op
ChainedBenchmark.channelChain                    0            100  avgt    5  1008.995 ±  16.838  ns/op
ChainedBenchmark.channelChain                    0           1000  avgt    5  1011.553 ±   8.185  ns/op
ChainedBenchmark.channelChain                    0          10000  avgt    5  1023.230 ±   7.953  ns/op
ChainedBenchmark.channelChain                  100            100  avgt    5    30.356 ±   0.862  ns/op
ChainedBenchmark.channelChain                  100           1000  avgt    5    30.530 ±   0.602  ns/op
ChainedBenchmark.channelChain                  100          10000  avgt    5    31.986 ±   2.076  ns/op
ChainedBenchmark.queueChain                      0            100  avgt    5   138.455 ±   8.756  ns/op
ChainedBenchmark.queueChain                      0           1000  avgt    5   118.418 ±  10.518  ns/op
ChainedBenchmark.queueChain                      0          10000  avgt    5   103.505 ±  13.791  ns/op
ChainedBenchmark.queueChain                    100            100  avgt    5    13.841 ±   0.587  ns/op
ChainedBenchmark.queueChain                    100           1000  avgt    5    13.345 ±   1.030  ns/op
ChainedBenchmark.queueChain                    100          10000  avgt    5    13.666 ±   0.550  ns/op
RendezvousBenchmark.channel                    N/A            N/A  avgt    5   179.034 ±  14.149  ns/op
RendezvousBenchmark.exchanger                  N/A            N/A  avgt    5    86.172 ±  31.536  ns/op
RendezvousBenchmark.synchronousQueue           N/A            N/A  avgt    5   212.740 ±  28.112  ns/op
SelectBenchmark.selectWithSingleClause         N/A            N/A  avgt    5   211.103 ±  69.881  ns/op
SelectBenchmark.selectWithTwoClauses           N/A            N/A  avgt    5   208.962 ±  16.093  ns/op

Kotlin:
(capacity)  (chainLength)  Mode  Cnt    Score    Error  Units
BufferedKotlinBenchmark.channel_defaultDispatcher                        1            N/A  avgt    5  108.669 ±  0.861  ns/op
BufferedKotlinBenchmark.channel_defaultDispatcher                       10            N/A  avgt    5   52.595 ±  0.538  ns/op
BufferedKotlinBenchmark.channel_defaultDispatcher                      100            N/A  avgt    5   32.694 ±  0.688  ns/op
ChainedKotlinBenchmark.channelChain_defaultDispatcher                    0            100  avgt    5   71.839 ±  3.361  ns/op
ChainedKotlinBenchmark.channelChain_defaultDispatcher                    0           1000  avgt    5   60.961 ±  2.857  ns/op
ChainedKotlinBenchmark.channelChain_defaultDispatcher                    0          10000  avgt    5   57.213 ±  1.676  ns/op
ChainedKotlinBenchmark.channelChain_defaultDispatcher                  100            100  avgt    5   13.594 ±  0.172  ns/op
ChainedKotlinBenchmark.channelChain_defaultDispatcher                  100           1000  avgt    5   14.490 ±  0.517  ns/op
ChainedKotlinBenchmark.channelChain_defaultDispatcher                  100          10000  avgt    5   15.678 ±  0.367  ns/op
ChainedKotlinBenchmark.channelChain_eventLoop                            0            100  avgt    5  100.846 ±  2.421  ns/op
ChainedKotlinBenchmark.channelChain_eventLoop                            0           1000  avgt    5  141.274 ± 22.530  ns/op
ChainedKotlinBenchmark.channelChain_eventLoop                            0          10000  avgt    5   95.981 ±  1.473  ns/op
ChainedKotlinBenchmark.channelChain_eventLoop                          100            100  avgt    5   29.981 ±  0.516  ns/op
ChainedKotlinBenchmark.channelChain_eventLoop                          100           1000  avgt    5   29.562 ±  0.378  ns/op
ChainedKotlinBenchmark.channelChain_eventLoop                          100          10000  avgt    5   30.986 ±  0.679  ns/op
RendezvousKotlinBenchmark.channel_defaultDispatcher                    N/A            N/A  avgt    5  144.689 ±  9.900  ns/op
SelectKotlinBenchmark.selectWithSingleClause_defaultDispatcher         N/A            N/A  avgt    5  241.268 ± 10.109  ns/op
SelectKotlinBenchmark.selectWithTwoClauses_defaultDispatcher           N/A            N/A  avgt    5  318.567 ±  0.976  ns/op

@adamw adamw merged commit 6308ba7 into main Jan 9, 2024
4 checks passed
@adamw adamw deleted the more-benchmarks branch January 9, 2024 16:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add more benchmarks, e.g. channel chains
1 participant