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

Fix select multi receive #38

Merged
merged 6 commits into from
Jan 26, 2024
Merged

Fix select multi receive #38

merged 6 commits into from
Jan 26, 2024

Conversation

adamw
Copy link
Member

@adamw adamw commented Jan 25, 2024

No description provided.

Copy link

Benchmark results
Java:
(capacity)  (chainLength)  Mode  Cnt     Score     Error  Units
BufferedBenchmark.arrayBlockingQueue             1            N/A  avgt    5  1045.427 ± 117.141  ns/op
BufferedBenchmark.arrayBlockingQueue            10            N/A  avgt    5   200.781 ±  25.219  ns/op
BufferedBenchmark.arrayBlockingQueue           100            N/A  avgt    5   114.278 ±  20.280  ns/op
BufferedBenchmark.channel                        1            N/A  avgt    5   213.812 ±  17.844  ns/op
BufferedBenchmark.channel                       10            N/A  avgt    5   184.393 ±  30.183  ns/op
BufferedBenchmark.channel                      100            N/A  avgt    5   158.715 ±  40.021  ns/op
ChainedBenchmark.channelChain                    0            100  avgt    5  1014.919 ±  17.249  ns/op
ChainedBenchmark.channelChain                    0           1000  avgt    5  1018.756 ±  11.453  ns/op
ChainedBenchmark.channelChain                    0          10000  avgt    5  1027.724 ±  28.631  ns/op
ChainedBenchmark.channelChain                  100            100  avgt    5    29.919 ±   0.988  ns/op
ChainedBenchmark.channelChain                  100           1000  avgt    5    29.501 ±   0.639  ns/op
ChainedBenchmark.channelChain                  100          10000  avgt    5    31.890 ±   0.722  ns/op
ChainedBenchmark.queueChain                      0            100  avgt    5   112.653 ±  15.159  ns/op
ChainedBenchmark.queueChain                      0           1000  avgt    5   124.643 ±  32.650  ns/op
ChainedBenchmark.queueChain                      0          10000  avgt    5   129.189 ±  41.865  ns/op
ChainedBenchmark.queueChain                    100            100  avgt    5    10.956 ±   0.381  ns/op
ChainedBenchmark.queueChain                    100           1000  avgt    5    10.976 ±   0.253  ns/op
ChainedBenchmark.queueChain                    100          10000  avgt    5    10.093 ±   0.456  ns/op
RendezvousBenchmark.channel                    N/A            N/A  avgt    5   178.895 ±  22.972  ns/op
RendezvousBenchmark.exchanger                  N/A            N/A  avgt    5    91.400 ±  10.570  ns/op
RendezvousBenchmark.synchronousQueue           N/A            N/A  avgt    5   659.928 ± 175.111  ns/op
SelectBenchmark.selectWithSingleClause         N/A            N/A  avgt    5   228.941 ±  71.585  ns/op
SelectBenchmark.selectWithTwoClauses           N/A            N/A  avgt    5   210.362 ±   9.722  ns/op

Kotlin:
(capacity)  (chainLength)  Mode  Cnt    Score    Error  Units
BufferedKotlinBenchmark.channel_defaultDispatcher                        1            N/A  avgt    5  108.722 ±  4.664  ns/op
BufferedKotlinBenchmark.channel_defaultDispatcher                       10            N/A  avgt    5   49.529 ±  0.714  ns/op
BufferedKotlinBenchmark.channel_defaultDispatcher                      100            N/A  avgt    5   32.385 ±  0.494  ns/op
ChainedKotlinBenchmark.channelChain_defaultDispatcher                    0            100  avgt    5   67.143 ±  4.478  ns/op
ChainedKotlinBenchmark.channelChain_defaultDispatcher                    0           1000  avgt    5   56.970 ±  2.306  ns/op
ChainedKotlinBenchmark.channelChain_defaultDispatcher                    0          10000  avgt    5   57.293 ±  1.348  ns/op
ChainedKotlinBenchmark.channelChain_defaultDispatcher                  100            100  avgt    5   13.916 ±  0.506  ns/op
ChainedKotlinBenchmark.channelChain_defaultDispatcher                  100           1000  avgt    5   13.444 ±  0.903  ns/op
ChainedKotlinBenchmark.channelChain_defaultDispatcher                  100          10000  avgt    5   15.016 ±  0.322  ns/op
ChainedKotlinBenchmark.channelChain_eventLoop                            0            100  avgt    5  102.928 ±  5.530  ns/op
ChainedKotlinBenchmark.channelChain_eventLoop                            0           1000  avgt    5  141.090 ± 19.807  ns/op
ChainedKotlinBenchmark.channelChain_eventLoop                            0          10000  avgt    5   95.296 ±  2.104  ns/op
ChainedKotlinBenchmark.channelChain_eventLoop                          100            100  avgt    5   29.789 ±  0.202  ns/op
ChainedKotlinBenchmark.channelChain_eventLoop                          100           1000  avgt    5   31.404 ±  0.187  ns/op
ChainedKotlinBenchmark.channelChain_eventLoop                          100          10000  avgt    5   31.361 ±  0.185  ns/op
RendezvousKotlinBenchmark.channel_defaultDispatcher                    N/A            N/A  avgt    5  140.467 ±  1.241  ns/op
SelectKotlinBenchmark.selectWithSingleClause_defaultDispatcher         N/A            N/A  avgt    5  249.033 ±  2.057  ns/op
SelectKotlinBenchmark.selectWithTwoClauses_defaultDispatcher           N/A            N/A  avgt    5  310.358 ±  2.205  ns/op

@adamw adamw merged commit 07b7593 into main Jan 26, 2024
4 checks passed
@adamw adamw deleted the fix_select_multi_receive branch January 26, 2024 09:22
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.

1 participant