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

Please clarify the benchmark output for each test #7

Closed
omac777 opened this issue Oct 17, 2022 · 11 comments
Closed

Please clarify the benchmark output for each test #7

omac777 opened this issue Oct 17, 2022 · 11 comments

Comments

@omac777
Copy link

omac777 commented Oct 17, 2022

I isolated just one particular use case I am familiar with and interested in seeing how it compares with flume in particular.

I changed both of these:
https://github.com/fereidani/rust-channel-benchmarks/blob/main/z_run.rs#L20
https://github.com/fereidani/rust-channel-benchmarks/blob/main/z_run.rs#L44

to better describe what the numbers dumped mean:

"{}, avg duration of one message sent/received through channel as nanoseconds:<<{}>>, messages per second:<<{}>>",

as believe this is what it truly describes. Is that right or did I misunderstand?

Here are the number on fedora silverblue 37 on an 8-core phenomx8

flume
bounded_mpsc(usize), avg duration of one message sent/received through channel as nanoseconds:<<158900701>>, messages per second:<<3146619>>

flume-async
bounded_mpsc(usize), avg duration of one message sent/received through channel as nanoseconds:<<199120601>>, messages per second:<<2511041>>

kanal
bounded_mpsc(usize), avg duration of one message sent/received through channel as nanoseconds:<<182064603>>, messages per second:<<2746278>>

kanal-async
bounded_mpsc(usize), avg duration of one message sent/received through channel as nanoseconds:<<224280043>>, messages per second:<<2229356>>

So when I read the above it seems to indicate it takes more nanoseconds for async message passing. Did I misunderstand?
kanal also seems to process less messages per second? Did I also misunderstand this?

The following indicates to me that flume is faster with the numbers I get:
flume 3146619 messages per second >
kanal 2746278 messages per second >
flume-async 2511041 messages per second >
kanal-async 2229356 messages per second

Again when I look at average one message durations,
flume 158900701 nanoseconds <
kanal 182064603 nanoseconds <
flume async 199120601 nanoseconds <
kanal async 224280043 nanoseconds

Did I misunderstand all this?

From what I just observed,
1)flume is faster than flume async.
2)kanal is faster than kanal async.
3)kanal is faster than flume async
4)kanal async is the slowest.
5)flume is the fastest.

@fereidani
Copy link
Owner

Thanks for your report, You can write another python script to generate markup tables from the CSV output, but the default output of the tests should not change as plot.py rely on that, I'll be happy to merge it if you send PR.
On your CPU the things that you observed are correct, unfortunately, I don't have access to that CPU and I think it's quite old. on my test on different modern CPUs from Apple, AMD, and Intel Kanal is outperforming others in general.

@omac777
Copy link
Author

omac777 commented Oct 18, 2022

Thank you. You answered my question. My older phenom has different behaviour from newer cpus. This is my first experience where trying a crate on 2 different cpu's results in different rankings of crate performance. Amd/Intel cpu run-time tests for me usually provide similar crate rankings no matter the multi-core cpu involved. Very bizarre.

I tried the very same tests on a Intel Xeon E5-2630 v2 6-core 12-thread cpu running on a fedora silverblue 36.
kanal was 4.09X faster than flume.
kanal-async was 2.89X faster than flume-async.

flume
bounded_mpsc(usize), avg duration of one message sent/received through channel as nanoseconds:<<71 006 742>>, messages per second as seconds:<<7 041 585>>

flume-async
bounded_mpsc(usize), avg duration of one message sent/received through channel as nanoseconds:<<89 259 764>>, messages per second as seconds:<<5 601 628>>

kanal
bounded_mpsc(usize), avg duration of one message sent/received through channel as nanoseconds:<<17 348 410>>, messages per second as seconds:<<28 821 084>>

kanal-async
bounded_mpsc(usize), avg duration of one message sent/received through channel as nanoseconds:<<30 823 110>>, messages per second as seconds:<<16 221 594>>

uname -a
Linux io02Silverblue 5.19.14-200.fc36.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Oct 5 21:31:17 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

cat /proc/cpuinfo
model name : Intel(R) Xeon(R) CPU E5-2630 v2 @ 2.60GHz

@omac777
Copy link
Author

omac777 commented Oct 18, 2022

Ok, LOL so I performed the same test on a more powerful 10-core 20-thread Intel E5-2630 v4 cpu on a Centos 7 system.
My intuition would have lead the higher core count would provide me with a higher message throughput, in fact LOL kanal 24781172 message throughput was lower than the previous lower-core count cpu kanal 28821084 message throughput running on a newer fedora silverblue 36. That's mind-blowingly impressive with respect to the kernel improvements itself found in the newer fedora silverblue 36 over the much older centos 7 kernels!

kanal fedora silverblue 36 6-core 12thread was 1.163023444 faster than kanal centos 7 10-core 20-thread!!! That's impressive work speaking volumes about kernel performance improvements.

kanal is 4.52X faster than flume.
kanal async is 2.49X faster than flume-async.

flume
bounded_mpsc(usize), avg duration of one message sent/received through channel as nanoseconds:<<91312439>>, messages per second as seconds:<<5 475 705>>

flume-async
bounded_mpsc(usize), avg duration of one message sent/received through channel as nanoseconds:<<107752300>>, messages per second as seconds:<<4 640 272>>

kanal
bounded_mpsc(usize), avg duration of one message sent/received through channel as nanoseconds:<<20176608>>, messages per second as seconds:<<24 781 172>>

kanal-async
bounded_mpsc(usize), avg duration of one message sent/received through channel as nanoseconds:<<43244635>>, messages per second as seconds:<<11 562 128>>

uname -a
Linux IO-05 3.10.0-1160.76.1.el7.x86_64 #1 SMP Wed Aug 10 16:21:17 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

cat /proc/cpuinfo
model name : Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz

@fereidani
Copy link
Owner

Thanks for your report and the time that you put into testing Kanal, right now I'm dealing with a race condition and that is likely that it is slowing the Kanal in some cases, I like to see the results.png of both tests, especially I like to see how Golang is performing in your older hardware. if it's possible for you please upload them.

@omac777
Copy link
Author

omac777 commented Oct 19, 2022

kanalOnSilverblue36-AMD-FX-8350.zip

kanal runs on Fedora Silverblue 37, tkinter won't install just yet for whatever reason.
For reverting to older deployments and making sure it boots to older silverblue deployments, the following commands are essential to know about:

sudo rpm-ostree status -b
sudo rpm-ostree status

"sudo rpm-ostree rollback" wasn't cutting it because it doesn't adjust the bios/boot/grub to the desired deployment. I assumed it would do that and it doesn't. The right commands to use are "ostree admin status" and "ostree admin undeploy". Undeploy is the one that deletes the deployments from the system and adjusts the uefi/bios/grub to point to the previous deployment.
The following command's deployment list is 0-index based:

ostree admin status
sudo ostree admin undeploy 0
sudo systemctl reboot

On Fedora Silverblue 36, for turtle plots to generate successfully:

sudo rpm-ostree install python3-tkinter
sudo rpm-ostree install python3-pygal
sudo rpm-ostree install python3-cairosvg
sudo systemctl reboot

As requested, all the graphs and csv's are attached which include the go channel results which you were looking for on this particular CPU. Cheers.

@fereidani
Copy link
Owner

Hey David, Could you please rerun your benchmarks on phenomx8 hardware with the latest git clone?
I really like to see how the latest version of Kanal with std mutex performs on that hardware.

@omac777
Copy link
Author

omac777 commented Nov 12, 2022

Good morning, here are the latest benchmarks with popos updated and latest rust nightly and latest go on phenom x8.

uname -srvp
Linux 5.19.0-76051900-generic #202207312230~1663791054~22.04~28340d4 SMP PREEMPT_DYNAMIC Wed S x86_64

rustc --version
rustc 1.67.0-nightly (42325c525 2022-11-11)

go version
go version go1.19.3 linux/amd64

cat /etc/os-release
NAME="Pop!_OS"
VERSION="22.04 LTS"
ID=pop
ID_LIKE="ubuntu debian"
PRETTY_NAME="Pop!_OS 22.04 LTS"
VERSION_ID="22.04"
HOME_URL="https://pop.system76.com"
SUPPORT_URL="https://support.system76.com"
BUG_REPORT_URL="https://github.com/pop-os/pop/issues"
PRIVACY_POLICY_URL="https://system76.com/privacy"
VERSION_CODENAME=jammy
UBUNTU_CODENAME=jammy
LOGO=distributor-logo-pop-os
+ ./target/release/mpsc
+ tee target/mpsc.csv
std::mpsc
bounded0_mpsc(empty),14668798371,68172
bounded0_spsc(empty),14572551139,68622
bounded1_mpsc(empty),14773933589,67687
bounded1_spsc(empty),14639265632,68309
bounded_mpsc(empty),416215361,2402602
bounded_seq(empty),54144457,18469111
bounded_spsc(empty),412749384,2422778
unbounded_mpsc(empty),289625736,3452732
unbounded_seq(empty),106177770,9418167
unbounded_spsc(empty),117805401,8488575
bounded0_mpsc(usize),14732850344,67876
bounded0_spsc(usize),14342026125,69725
bounded1_mpsc(usize),14787645952,67624
bounded1_spsc(usize),14569446328,68637
bounded_mpsc(usize),487767488,2050157
bounded_seq(usize),61842895,16170006
bounded_spsc(usize),369775288,2704345
unbounded_mpsc(usize),310592988,3219648
unbounded_seq(usize),107237605,9325087
unbounded_spsc(usize),129129044,7744191
bounded0_mpsc(big),14850307795,67339
bounded0_spsc(big),14734105675,67870
bounded1_mpsc(big),15148344751,66014
bounded1_spsc(big),14700428369,68025
bounded_mpsc(big),619640200,1613840
bounded_seq(big),105627073,9467270
bounded_spsc(big),600504820,1665266
unbounded_mpsc(big),372607181,2683792
unbounded_seq(big),158723093,6300280
unbounded_spsc(big),240832296,4152267
+ sleep 2
+ ./target/release/futures-channel
+ tee target/futures-channel.csv
futures-channel
bounded0_mpsc(empty),4099515092,243931
bounded0_spsc(empty),16145856270,61935
bounded1_mpsc(empty),3270917094,305725
bounded1_spsc(empty),7993675869,125099
bounded_mpsc(empty),811838365,1231772
bounded_seq(empty),114300098,8748899
bounded_spsc(empty),533431811,1874654
unbounded_mpsc(empty),908533977,1100674
unbounded_seq(empty),102662450,9740660
unbounded_spsc(empty),523052729,1911853
bounded0_mpsc(usize),4251303719,235222
bounded0_spsc(usize),16487683828,60651
bounded1_mpsc(usize),3345775199,298884
bounded1_spsc(usize),8714134051,114756
bounded_mpsc(usize),689271122,1450808
bounded_seq(usize),117868524,8484029
bounded_spsc(usize),537948453,1858914
unbounded_mpsc(usize),775089020,1290174
unbounded_seq(usize),103435212,9667887
unbounded_spsc(usize),515531788,1939745
bounded0_mpsc(big),4166406826,240015
bounded0_spsc(big),16971887939,58921
bounded1_mpsc(big),3464212758,288666
bounded1_spsc(big),9663450211,103483
bounded_mpsc(big),799367368,1250989
bounded_seq(big),190304552,5254735
bounded_spsc(big),588094831,1700406
unbounded_mpsc(big),916521275,1091082
unbounded_seq(big),140609663,7111887
unbounded_spsc(big),563788946,1773713
+ sleep 2
+ ./target/release/flume
+ tee target/flume.csv
flume
bounded0_mpmc(empty),3688501742,271113
bounded0_mpsc(empty),4999669098,200013
bounded0_spsc(empty),7215098302,138598
bounded1_mpmc(empty),3169577506,315499
bounded1_mpsc(empty),4241984147,235739
bounded1_spsc(empty),4864496185,205571
bounded_mpmc(empty),502891701,1988500
bounded_mpsc(empty),305207219,3276462
bounded_seq(empty),55922059,17882031
bounded_spsc(empty),363711970,2749428
unbounded_mpmc(empty),486367057,2056060
unbounded_mpsc(empty),304825665,3280564
unbounded_seq(empty),52357331,19099522
unbounded_spsc(empty),352477187,2837063
bounded0_mpmc(usize),3732729466,267900
bounded0_mpsc(usize),4740498758,210948
bounded0_spsc(usize),7543000472,132573
bounded1_mpmc(usize),3203460887,312162
bounded1_mpsc(usize),4128549121,242216
bounded1_spsc(usize),4889565152,204517
bounded_mpmc(usize),565949488,1766942
bounded_mpsc(usize),350620539,2852086
bounded_seq(usize),58696967,17036655
bounded_spsc(usize),372509990,2684492
unbounded_mpmc(usize),558414384,1790785
unbounded_mpsc(usize),349635111,2860125
unbounded_seq(usize),55009434,18178700
unbounded_spsc(usize),388626062,2573168
bounded0_mpmc(big),3752303234,266503
bounded0_mpsc(big),5122815416,195205
bounded0_spsc(big),7384566286,135418
bounded1_mpmc(big),3273499831,305483
bounded1_mpsc(big),4447668883,224837
bounded1_spsc(big),4983883340,200647
bounded_mpmc(big),849560443,1177079
bounded_mpsc(big),468606774,2133985
bounded_seq(big),120336168,8310053
bounded_spsc(big),410176035,2437978
unbounded_mpmc(big),844981590,1183458
unbounded_mpsc(big),493165746,2027716
unbounded_seq(big),121179292,8252235
unbounded_spsc(big),449433594,2225023
+ sleep 2
+ ./target/release/flume-async
+ tee target/flume_async.csv
flume-async
bounded0_mpmc(empty),1953930417,511789
bounded0_mpsc(empty),1023276959,977253
bounded0_spsc(empty),296222129,3375845
bounded1_mpmc(empty),1916082886,521898
bounded1_mpsc(empty),1058897970,944378
bounded1_spsc(empty),303382451,3296170
bounded_mpmc(empty),662026545,1510513
bounded_mpsc(empty),392083726,2550476
bounded_seq(empty),65813296,15194498
bounded_spsc(empty),77650765,12878173
unbounded_mpmc(empty),746889858,1338885
unbounded_mpsc(empty),397266821,2517200
unbounded_seq(empty),63392677,15774692
unbounded_spsc(empty),77001740,12986719
bounded0_mpmc(usize),2000569427,499858
bounded0_mpsc(usize),1008459949,991611
bounded0_spsc(usize),283706238,3524773
bounded1_mpmc(usize),1944577067,514251
bounded1_mpsc(usize),1025095320,975519
bounded1_spsc(usize),292903440,3414094
bounded_mpmc(usize),539830192,1852434
bounded_mpsc(usize),403532590,2478115
bounded_seq(usize),65654067,15231349
bounded_spsc(usize),82821385,12074176
unbounded_mpmc(usize),535678258,1866792
unbounded_mpsc(usize),394227142,2536609
unbounded_seq(usize),65874890,15180291
unbounded_spsc(usize),72530366,13787328
bounded0_mpmc(big),2148015429,465546
bounded0_mpsc(big),1131683746,883639
bounded0_spsc(big),342931044,2916038
bounded1_mpmc(big),2106238930,474780
bounded1_mpsc(big),1061192922,942336
bounded1_spsc(big),363073485,2754263
bounded_mpmc(big),1164086696,859043
bounded_mpsc(big),568371592,1759412
bounded_seq(big),145450115,6875209
bounded_spsc(big),265044270,3772955
unbounded_mpmc(big),1002717453,997290
unbounded_mpsc(big),554783136,1802506
unbounded_seq(big),149673233,6681221
unbounded_spsc(big),563808932,1773651
+ sleep 2
+ tee target/crossbeam-channel.csv
+ ./target/release/crossbeam-channel
crossbeam-channel
bounded0_mpmc(empty),2168887432,461066
bounded0_mpsc(empty),3477225063,287586
bounded0_spsc(empty),1583470651,631524
bounded1_mpmc(empty),852292152,1173307
bounded1_mpsc(empty),860998315,1161442
bounded1_spsc(empty),410908294,2433633
bounded_mpmc(empty),245325718,4076213
bounded_mpsc(empty),447586959,2234203
bounded_seq(empty),54416861,18376657
bounded_spsc(empty),34777635,28754111
unbounded_mpmc(empty),548554363,1822973
unbounded_mpsc(empty),506761858,1973313
unbounded_seq(empty),69108213,14470060
unbounded_spsc(empty),56588845,17671327
bounded0_mpmc(usize),2334135750,428424
bounded0_mpsc(usize),3933969771,254196
bounded0_spsc(usize),3135552576,318923
bounded1_mpmc(usize),847788720,1179539
bounded1_mpsc(usize),822455786,1215871
bounded1_spsc(usize),409546656,2441724
bounded_mpmc(usize),319093375,3133879
bounded_mpsc(usize),447804225,2233119
bounded_seq(usize),59189729,16894823
bounded_spsc(usize),42523192,23516578
unbounded_mpmc(usize),572591078,1746447
unbounded_mpsc(usize),509217605,1963797
unbounded_seq(usize),73619589,13583341
unbounded_spsc(usize),65938076,15165744
bounded0_mpmc(big),2257678923,442933
bounded0_mpsc(big),3635090301,275096
bounded0_spsc(big),1198563330,834332
bounded1_mpmc(big),943388147,1060009
bounded1_mpsc(big),848763828,1178184
bounded1_spsc(big),420320287,2379138
bounded_mpmc(big),495576925,2017850
bounded_mpsc(big),572089127,1747979
bounded_seq(big),118551279,8435168
bounded_spsc(big),82866345,12067625
unbounded_mpmc(big),450750373,2218523
unbounded_mpsc(big),525737010,1902092
unbounded_seq(big),131149557,7624883
unbounded_spsc(big),90332841,11070171
+ sleep 2
+ ./target/release/async-channel
+ tee target/async-channel.csv
async-channel
bounded1_mpmc(empty),3452438406,289650
bounded1_mpsc(empty),2077891444,481257
bounded1_spsc(empty),566226788,1766077
bounded_mpmc(empty),729290459,1371196
bounded_mpsc(empty),732881571,1364477
bounded_seq(empty),92834100,10771904
bounded_spsc(empty),91184201,10966812
unbounded_mpmc(empty),690488145,1448251
unbounded_mpsc(empty),717334312,1394050
unbounded_seq(empty),112565525,8883715
unbounded_spsc(empty),108833019,9188388
bounded1_mpmc(usize),3676179634,272022
bounded1_mpsc(usize),2042327702,489637
bounded1_spsc(usize),600626112,1664929
bounded_mpmc(usize),671557208,1489076
bounded_mpsc(usize),677637624,1475715
bounded_seq(usize),101309926,9870701
bounded_spsc(usize),66191320,15107721
unbounded_mpmc(usize),552142578,1811126
unbounded_mpsc(usize),729104659,1371545
unbounded_seq(usize),122262293,8179137
unbounded_spsc(usize),87896412,11377029
bounded1_mpmc(big),4232665288,236258
bounded1_mpsc(big),2808164294,356105
bounded1_spsc(big),730733402,1368488
bounded_mpmc(big),719213628,1390407
bounded_mpsc(big),876237588,1141243
bounded_seq(big),191561568,5220254
bounded_spsc(big),129971852,7693974
unbounded_mpmc(big),630216167,1586757
unbounded_mpsc(big),749956161,1333411
unbounded_seq(big),209735880,4767901
unbounded_spsc(big),133866719,7470117
+ sleep 2
+ ./target/release/kanal
+ tee target/kanal.csv
kanal
bounded0_mpmc(empty),1269272451,787853
bounded0_mpsc(empty),720800988,1387345
bounded0_spsc(empty),444791219,2248246
bounded1_mpmc(empty),1225131931,816239
bounded1_mpsc(empty),757687771,1319805
bounded1_spsc(empty),334429696,2990165
bounded_mpmc(empty),611056887,1636509
bounded_mpsc(empty),265306052,3769232
bounded_seq(empty),27599743,36232220
bounded_spsc(empty),128844312,7761305
unbounded_mpmc(empty),583834233,1712815
unbounded_mpsc(empty),262575031,3808435
unbounded_seq(empty),25706662,38900421
unbounded_spsc(empty),134773235,7419871
bounded0_mpmc(usize),1260645639,793244
bounded0_mpsc(usize),754585787,1325230
bounded0_spsc(usize),569980900,1754445
bounded1_mpmc(usize),1366949725,731556
bounded1_mpsc(usize),893126953,1119662
bounded1_spsc(usize),524418693,1906873
bounded_mpmc(usize),722544025,1383999
bounded_mpsc(usize),391869365,2551871
bounded_seq(usize),26927421,37136863
bounded_spsc(usize),73241681,13653428
unbounded_mpmc(usize),755885373,1322952
unbounded_mpsc(usize),389257976,2568990
unbounded_seq(usize),28923583,34573862
unbounded_spsc(usize),77587921,12888604
bounded0_mpmc(big),1215532569,822685
bounded0_mpsc(big),742135941,1347462
bounded0_spsc(big),682356299,1465510
bounded1_mpmc(big),1444158478,692445
bounded1_mpsc(big),892061625,1120999
bounded1_spsc(big),473387846,2112433
bounded_mpmc(big),982000025,1018330
bounded_mpsc(big),532932930,1876409
bounded_seq(big),58318714,17147154
bounded_spsc(big),224602933,4452302
unbounded_mpmc(big),957679110,1044191
unbounded_mpsc(big),538390034,1857390
unbounded_seq(big),61613942,16230093
unbounded_spsc(big),224765433,4449083
+ sleep 2
+ ./target/release/kanal-async
+ tee target/kanal-async.csv
kanal-async
bounded0_mpmc(empty),799427782,1250895
bounded0_mpsc(empty),334080968,2993286
bounded0_spsc(empty),139144997,7186748
bounded1_mpmc(empty),862605170,1159279
bounded1_mpsc(empty),279998066,3571453
bounded1_spsc(empty),103927591,9622084
bounded_mpmc(empty),487999103,2049184
bounded_mpsc(empty),286081009,3495513
bounded_seq(empty),33095265,30215802
bounded_spsc(empty),90491360,11050779
unbounded_mpmc(empty),734460189,1361544
unbounded_mpsc(empty),513727260,1946558
unbounded_seq(empty),35539833,28137442
unbounded_spsc(empty),154974789,6452662
bounded0_mpmc(usize),778892988,1283873
bounded0_mpsc(usize),339520736,2945328
bounded0_spsc(usize),148453475,6736117
bounded1_mpmc(usize),877853159,1139143
bounded1_mpsc(usize),293687065,3404985
bounded1_spsc(usize),114338601,8745953
bounded_mpmc(usize),840679957,1189513
bounded_mpsc(usize),475048405,2105049
bounded_seq(usize),37483598,26678335
bounded_spsc(usize),300461219,3328217
unbounded_mpmc(usize),681656086,1467015
unbounded_mpsc(usize),427396415,2339748
unbounded_seq(usize),38311737,26101662
unbounded_spsc(usize),315063702,3173961
bounded0_mpmc(big),810601214,1233652
bounded0_mpsc(big),369533639,2706114
bounded0_spsc(big),164601582,6075276
bounded1_mpmc(big),933654373,1071060
bounded1_mpsc(big),339395623,2946414
bounded1_spsc(big),123778124,8078972
bounded_mpmc(big),947001285,1055965
bounded_mpsc(big),512945442,1949525
bounded_seq(big),69833272,14319822
bounded_spsc(big),147161906,6795237
unbounded_mpmc(big),852420443,1173130
unbounded_mpsc(big),517646197,1931821
unbounded_seq(big),75688059,13212124
unbounded_spsc(big),93169569,10733118
+ sleep 2
+ ./target/release/kanal-std-mutex
+ tee target/kanal-std-mutex.csv
kanal-std-mutex
bounded0_mpmc(empty),1539069015,649743
bounded0_mpsc(empty),1300983678,768649
bounded0_spsc(empty),486671195,2054775
bounded1_mpmc(empty),1426271450,701129
bounded1_mpsc(empty),1271387526,786542
bounded1_spsc(empty),371315042,2693131
bounded_mpmc(empty),378837575,2639654
bounded_mpsc(empty),253575802,3943594
bounded_seq(empty),44101219,22675109
bounded_spsc(empty),249952974,4000753
unbounded_mpmc(empty),376527459,2655849
unbounded_mpsc(empty),252680065,3957574
unbounded_seq(empty),43986685,22734152
unbounded_spsc(empty),268757558,3720826
bounded0_mpmc(usize),1550168114,645091
bounded0_mpsc(usize),1250591629,799622
bounded0_spsc(usize),580457911,1722778
bounded1_mpmc(usize),1565258820,638872
bounded1_mpsc(usize),1342547143,744853
bounded1_spsc(usize),514919361,1942052
bounded_mpmc(usize),487520636,2051195
bounded_mpsc(usize),322940951,3096541
bounded_seq(usize),48128505,20777707
bounded_spsc(usize),220764512,4529714
unbounded_mpmc(usize),505130531,1979686
unbounded_mpsc(usize),322828773,3097617
unbounded_seq(usize),48122799,20780171
unbounded_spsc(usize),214733118,4656943
bounded0_mpmc(big),1590180902,628859
bounded0_mpsc(big),1324195821,755175
bounded0_spsc(big),625537485,1598625
bounded1_mpmc(big),1606199025,622588
bounded1_mpsc(big),1378917242,725207
bounded1_spsc(big),629144543,1589460
bounded_mpmc(big),685406950,1458987
bounded_mpsc(big),351012727,2848900
bounded_seq(big),83814608,11931094
bounded_spsc(big),224916654,4446091
unbounded_mpmc(big),696420306,1435914
unbounded_mpsc(big),411757371,2428615
unbounded_seq(big),86132729,11609989
unbounded_spsc(big),368651923,2712586
+ sleep 2
+ ./target/release/kanal-std-mutex-async
+ tee target/kanal-std-mutex-async.csv
kanal-std-mutex-async
bounded0_mpmc(empty),950916800,1051617
bounded0_mpsc(empty),427788053,2337606
bounded0_spsc(empty),163587057,6112953
bounded1_mpmc(empty),902461116,1108081
bounded1_mpsc(empty),439443819,2275604
bounded1_spsc(empty),126281665,7918806
bounded_mpmc(empty),432591017,2311652
bounded_mpsc(empty),299467455,3339261
bounded_seq(empty),53302029,18761011
bounded_spsc(empty),265006547,3773492
unbounded_mpmc(empty),434842521,2299683
unbounded_mpsc(empty),308062384,3246096
unbounded_seq(empty),56235336,17782413
unbounded_spsc(empty),222482366,4494738
bounded0_mpmc(usize),949622445,1053050
bounded0_mpsc(usize),441484107,2265087
bounded0_spsc(usize),170090459,5879225
bounded1_mpmc(usize),958731399,1043045
bounded1_mpsc(usize),445535340,2244491
bounded1_spsc(usize),134204751,7451301
bounded_mpmc(usize),498935838,2004266
bounded_mpsc(usize),385615812,2593255
bounded_seq(usize),55938276,17876847
bounded_spsc(usize),222567126,4493027
unbounded_mpmc(usize),490547590,2038538
unbounded_mpsc(usize),379413110,2635650
unbounded_seq(usize),56776378,17612958
unbounded_spsc(usize),56591437,17670518
bounded0_mpmc(big),977987521,1022508
bounded0_mpsc(big),466498716,2143629
bounded0_spsc(big),183423269,5451871
bounded1_mpmc(big),1003496760,996515
bounded1_mpsc(big),488322465,2047827
bounded1_spsc(big),144448086,6922902
bounded_mpmc(big),574076701,1741928
bounded_mpsc(big),394628814,2534027
bounded_seq(big),88916519,11246504
bounded_spsc(big),217531288,4597040
unbounded_mpmc(big),601935247,1661308
unbounded_mpsc(big),496029458,2016009
unbounded_seq(big),98696005,10132122
unbounded_spsc(big),143398558,6973571
+ sleep 2
+ ./target/release/go_bench
+ tee target/go.csv
go chan1.19.3
bounded0_mpmc(empty),970660984,1030225
bounded0_mpsc(empty),465104730,2150053
bounded0_spsc(empty),252423848,3961590
bounded1_mpmc(empty),929006316,1076418
bounded1_mpsc(empty),365451217,2736343
bounded1_spsc(empty),192634212,5191185
bounded_mpmc(empty),918672475,1088527
bounded_mpsc(empty),520557441,1921017
bounded_seq(empty),63936212,15640588
bounded_spsc(empty),241078211,4148031
bounded0_mpmc(usize),1007655923,992402
bounded0_mpsc(usize),484738988,2062965
bounded0_spsc(usize),267555461,3737542
bounded1_mpmc(usize),981107326,1019256
bounded1_mpsc(usize),372488255,2684648
bounded1_spsc(usize),204591224,4887795
bounded_mpmc(usize),1041576722,960082
bounded_mpsc(usize),540139477,1851373
bounded_seq(usize),70295471,14225667
bounded_spsc(usize),259238181,3857456
bounded0_mpmc(big),1019346621,981020
bounded0_mpsc(big),492395997,2030885
bounded0_spsc(big),271906869,3677729
bounded1_mpmc(big),999637711,1000362
bounded1_mpsc(big),383686160,2606296
bounded1_spsc(big),210081328,4760061
bounded_mpmc(big),1113668098,897933
bounded_mpsc(big),580301929,1723240
bounded_seq(big),83638467,11956220
bounded_spsc(big),303888829,3290677

@fereidani
Copy link
Owner

Thanks! It seems Kanal's own mutex still performing better than standard mutex even on your older system.
I have no more questions to ask. do you have any other subject to continuing discussing? should we close the issue?

@omac777
Copy link
Author

omac777 commented Nov 12, 2022

Here it is on Fedora Silverblue 36 with the latest kernel as requested on the phenom x8.
Sorry for the delay.
$ cat /etc/os-release
NAME="Fedora Linux"
VERSION="36.20221111.0 (Silverblue)"
ID=fedora
VERSION_ID=36
VERSION_CODENAME=""
PLATFORM_ID="platform:f36"
PRETTY_NAME="Fedora Linux 36.20221111.0 (Silverblue)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:36"
HOME_URL="https://fedoraproject.org/"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora-silverblue/"
SUPPORT_URL="https://ask.fedoraproject.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=36
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=36
PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy"
VARIANT="Silverblue"
VARIANT_ID=silverblue
OSTREE_VERSION='36.20221111.0'

  • tee target/mpsc.csv
    std::mpsc
    bounded0_mpsc(empty),13333927410,74997
    bounded0_spsc(empty),12938015571,77292
    bounded1_mpsc(empty),13237079667,75545
    bounded1_spsc(empty),12842610925,77866
    bounded_mpsc(empty),385602845,2593342
    bounded_seq(empty),56270825,17771198
    bounded_spsc(empty),367109497,2723983
    unbounded_mpsc(empty),295386972,3385390
    unbounded_seq(empty),108728586,9197213
    unbounded_spsc(empty),102516317,9754545
    bounded0_mpsc(usize),13338823897,74969
    bounded0_spsc(usize),12753132832,78412
    bounded1_mpsc(usize),13226117422,75608
    bounded1_spsc(usize),13048506012,76637
    bounded_mpsc(usize),474955984,2105458
    bounded_seq(usize),61355247,16298524
    bounded_spsc(usize),424387158,2356339
    unbounded_mpsc(usize),322047180,3105135
    unbounded_seq(usize),109384382,9142073
    unbounded_spsc(usize),120187546,8320330
    bounded0_mpsc(big),13330495769,75016
    bounded0_spsc(big),12677696526,78879
    bounded1_mpsc(big),13286669490,75263
    bounded1_spsc(big),13041897808,76676
    bounded_mpsc(big),611329732,1635778
    bounded_seq(big),102940978,9714304
    bounded_spsc(big),618252371,1617462
    unbounded_mpsc(big),369378970,2707247
    unbounded_seq(big),163410055,6119574
    unbounded_spsc(big),282841056,3535555

  • sleep 2

  • ./target/release/futures-channel

  • tee target/futures-channel.csv
    futures-channel
    bounded0_mpsc(empty),4033263379,247938
    bounded0_spsc(empty),15782857091,63360
    bounded1_mpsc(empty),3322822128,300949
    bounded1_spsc(empty),7888709676,126763
    bounded_mpsc(empty),904847380,1105159
    bounded_seq(empty),119279925,8383640
    bounded_spsc(empty),582320304,1717268
    unbounded_mpsc(empty),827060317,1209102
    unbounded_seq(empty),109135363,9162933
    unbounded_spsc(empty),499818503,2000726
    bounded0_mpsc(usize),3910640668,255713
    bounded0_spsc(usize),16322062906,61267
    bounded1_mpsc(usize),2879341051,347302
    bounded1_spsc(usize),8067959459,123947
    bounded_mpsc(usize),764294537,1308396
    bounded_seq(usize),119264582,8384719
    bounded_spsc(usize),563393505,1774958
    unbounded_mpsc(usize),789791045,1266158
    unbounded_seq(usize),102905531,9717651
    unbounded_spsc(usize),566224950,1766083
    bounded0_mpsc(big),3774459209,264939
    bounded0_spsc(big),16202541052,61719
    bounded1_mpsc(big),2924780570,341906
    bounded1_spsc(big),7973635743,125413
    bounded_mpsc(big),826620788,1209745
    bounded_seq(big),188167604,5314411
    bounded_spsc(big),633513601,1578498
    unbounded_mpsc(big),862349081,1159623
    unbounded_seq(big),143158746,6985253
    unbounded_spsc(big),614714225,1626772

  • sleep 2

  • ./target/release/flume

  • tee target/flume.csv
    flume
    bounded0_mpmc(empty),2601043678,384461
    bounded0_mpsc(empty),2785291684,359029
    bounded0_spsc(empty),6490223222,154078
    bounded1_mpmc(empty),2318521950,431309
    bounded1_mpsc(empty),2360151055,423702
    bounded1_spsc(empty),4292250854,232978
    bounded_mpmc(empty),537922437,1859004
    bounded_mpsc(empty),323236123,3093714
    bounded_seq(empty),52234157,19144561
    bounded_spsc(empty),352308783,2838419
    unbounded_mpmc(empty),526071142,1900884
    unbounded_mpsc(empty),336772604,2969363
    unbounded_seq(empty),52468636,19059005
    unbounded_spsc(empty),413045843,2421039
    bounded0_mpmc(usize),2655806395,376533
    bounded0_mpsc(usize),2781631567,359501
    bounded0_spsc(usize),6351658980,157439
    bounded1_mpmc(usize),2399811723,416699
    bounded1_mpsc(usize),2312753491,432385
    bounded1_spsc(usize),4266565519,234381
    bounded_mpmc(usize),605902088,1650432
    bounded_mpsc(usize),365579753,2735381
    bounded_seq(usize),58594874,17066339
    bounded_spsc(usize),500667927,1997332
    unbounded_mpmc(usize),585503746,1707931
    unbounded_mpsc(usize),365112946,2738878
    unbounded_seq(usize),58362663,17134242
    unbounded_spsc(usize),415584085,2406252
    bounded0_mpmc(big),2763574132,361850
    bounded0_mpsc(big),2790418753,358369
    bounded0_spsc(big),6767710703,147760
    bounded1_mpmc(big),2462646018,406067
    bounded1_mpsc(big),2408552758,415187
    bounded1_spsc(big),4437093674,225373
    bounded_mpmc(big),881334008,1134644
    bounded_mpsc(big),491623654,2034076
    bounded_seq(big),123974306,8066187
    bounded_spsc(big),638050834,1567273
    unbounded_mpmc(big),877519780,1139575
    unbounded_mpsc(big),488771020,2045948
    unbounded_seq(big),123086196,8124388
    unbounded_spsc(big),623634777,1603503

  • sleep 2

  • ./target/release/flume-async

  • tee target/flume_async.csv
    flume-async
    bounded0_mpmc(empty),1906713955,524463
    bounded0_mpsc(empty),1057960318,945215
    bounded0_spsc(empty),264913406,3774818
    bounded1_mpmc(empty),1816132485,550621
    bounded1_mpsc(empty),1058210345,944992
    bounded1_spsc(empty),278127174,3595478
    bounded_mpmc(empty),606111161,1649862
    bounded_mpsc(empty),370778750,2697026
    bounded_seq(empty),61351183,16299604
    bounded_spsc(empty),167733858,5961826
    unbounded_mpmc(empty),557642903,1793262
    unbounded_mpsc(empty),364435787,2743968
    unbounded_seq(empty),61105835,16365049
    unbounded_spsc(empty),201591402,4960529
    bounded0_mpmc(usize),1926436574,519093
    bounded0_mpsc(usize),1055206850,947681
    bounded0_spsc(usize),271471612,3683626
    bounded1_mpmc(usize),1872342294,534090
    bounded1_mpsc(usize),1077886952,927741
    bounded1_spsc(usize),271673665,3680887
    bounded_mpmc(usize),502050513,1991831
    bounded_mpsc(usize),412998687,2421315
    bounded_seq(usize),64662609,15464888
    bounded_spsc(usize),185243640,5398296
    unbounded_mpmc(usize),574083722,1741906
    unbounded_mpsc(usize),415791084,2405054
    unbounded_seq(usize),64789679,15434557
    unbounded_spsc(usize),243689423,4103584
    bounded0_mpmc(big),2026049146,493571
    bounded0_mpsc(big),1149303037,870093
    bounded0_spsc(big),342034129,2923685
    bounded1_mpmc(big),1965901182,508673
    bounded1_mpsc(big),1131792018,883555
    bounded1_spsc(big),333867753,2995198
    bounded_mpmc(big),975299182,1025326
    bounded_mpsc(big),545130237,1834424
    bounded_seq(big),151683160,6592690
    bounded_spsc(big),158374876,6314133
    unbounded_mpmc(big),861215220,1161150
    unbounded_mpsc(big),544211743,1837520
    unbounded_seq(big),153282887,6523885
    unbounded_spsc(big),155134174,6446033

  • sleep 2

  • tee target/crossbeam-channel.csv

  • ./target/release/crossbeam-channel
    crossbeam-channel
    bounded0_mpmc(empty),1910008639,523558
    bounded0_mpsc(empty),2006487852,498383
    bounded0_spsc(empty),799715312,1250445
    bounded1_mpmc(empty),632646349,1580662
    bounded1_mpsc(empty),635991339,1572348
    bounded1_spsc(empty),424022335,2358366
    bounded_mpmc(empty),117422810,8516233
    bounded_mpsc(empty),245577961,4072027
    bounded_seq(empty),53543674,18676342
    bounded_spsc(empty),35054167,28527278
    unbounded_mpmc(empty),124605688,8025316
    unbounded_mpsc(empty),244900050,4083298
    unbounded_seq(empty),67882008,14731444
    unbounded_spsc(empty),56647090,17653157
    bounded0_mpmc(usize),2043956086,489247
    bounded0_mpsc(usize),2145253494,466145
    bounded0_spsc(usize),960374391,1041261
    bounded1_mpmc(usize),593892720,1683806
    bounded1_mpsc(usize),631792661,1582798
    bounded1_spsc(usize),423063270,2363713
    bounded_mpmc(usize),141191866,7082561
    bounded_mpsc(usize),209885613,4764500
    bounded_seq(usize),59222045,16885604
    bounded_spsc(usize),42733501,23400844
    unbounded_mpmc(usize),142036384,7040450
    unbounded_mpsc(usize),259102989,3859469
    unbounded_seq(usize),72657994,13763110
    unbounded_spsc(usize),64715409,15452270
    bounded0_mpmc(big),2012902342,496795
    bounded0_mpsc(big),2149923223,465133
    bounded0_spsc(big),925097465,1080967
    bounded1_mpmc(big),682207067,1465831
    bounded1_mpsc(big),654587426,1527680
    bounded1_spsc(big),436522846,2290831
    bounded_mpmc(big),283775075,3523918
    bounded_mpsc(big),276673311,3614371
    bounded_seq(big),119825949,8345438
    bounded_spsc(big),84707819,11805286
    unbounded_mpmc(big),222833166,4487662
    unbounded_mpsc(big),300952433,3322784
    unbounded_seq(big),133540529,7488363
    unbounded_spsc(big),89394803,11186332

  • sleep 2

  • ./target/release/async-channel

  • tee target/async-channel.csv
    async-channel
    bounded1_mpmc(empty),3121118101,320398
    bounded1_mpsc(empty),1730238940,577955
    bounded1_spsc(empty),604122998,1655292
    bounded_mpmc(empty),740417699,1350589
    bounded_mpsc(empty),738247478,1354559
    bounded_seq(empty),97821833,10222667
    bounded_spsc(empty),97356802,10271496
    unbounded_mpmc(empty),539810226,1852503
    unbounded_mpsc(empty),689965519,1449348
    unbounded_seq(empty),116722877,8567301
    unbounded_spsc(empty),115285721,8674101
    bounded1_mpmc(usize),3127918000,319701
    bounded1_mpsc(usize),1688488914,592246
    bounded1_spsc(usize),607991434,1644760
    bounded_mpmc(usize),648758211,1541406
    bounded_mpsc(usize),685866960,1458009
    bounded_seq(usize),102962289,9712294
    bounded_spsc(usize),94699901,10559673
    unbounded_mpmc(usize),623692354,1603355
    unbounded_mpsc(usize),684342095,1461257
    unbounded_seq(usize),122606928,8156146
    unbounded_spsc(usize),98596871,10142310
    bounded1_mpmc(big),3561006896,280819
    bounded1_mpsc(big),2428568732,411765
    bounded1_spsc(big),724094900,1381034
    bounded_mpmc(big),758431970,1318510
    bounded_mpsc(big),865818877,1154976
    bounded_seq(big),198376608,5040917
    bounded_spsc(big),138435535,7223579
    unbounded_mpmc(big),612100234,1633719
    unbounded_mpsc(big),755467212,1323684
    unbounded_seq(big),208796493,4789352
    unbounded_spsc(big),136104478,7347297

  • sleep 2

  • ./target/release/kanal

  • tee target/kanal.csv
    kanal
    bounded0_mpmc(empty),1169360354,855168
    bounded0_mpsc(empty),672126535,1487815
    bounded0_spsc(empty),519680901,1924258
    bounded1_mpmc(empty),1160147991,861959
    bounded1_mpsc(empty),702829078,1422821
    bounded1_spsc(empty),356781547,2802836
    bounded_mpmc(empty),684948293,1459964
    bounded_mpsc(empty),376828515,2653727
    bounded_seq(empty),27682865,36123428
    bounded_spsc(empty),116427316,8589050
    unbounded_mpmc(empty),715961415,1396723
    unbounded_mpsc(empty),380347734,2629173
    unbounded_seq(empty),27706612,36092467
    unbounded_spsc(empty),104704881,9550653
    bounded0_mpmc(usize),1189363005,840786
    bounded0_mpsc(usize),764067368,1308785
    bounded0_spsc(usize),579628941,1725242
    bounded1_mpmc(usize),1289030278,775777
    bounded1_mpsc(usize),818788220,1221317
    bounded1_spsc(usize),441069934,2267214
    bounded_mpmc(usize),773355153,1293067
    bounded_mpsc(usize),385873355,2591524
    bounded_seq(usize),27013243,37018879
    bounded_spsc(usize),89165583,11215089
    unbounded_mpmc(usize),852199274,1173434
    unbounded_mpsc(usize),379209791,2637063
    unbounded_seq(usize),28864829,34644237
    unbounded_spsc(usize),85699588,11668667
    bounded0_mpmc(big),1213334186,824175
    bounded0_mpsc(big),770236449,1298303
    bounded0_spsc(big),634111592,1577009
    bounded1_mpmc(big),1341837575,745247
    bounded1_mpsc(big),809113017,1235921
    bounded1_spsc(big),480913045,2079378
    bounded_mpmc(big),968313980,1032723
    bounded_mpsc(big),503598485,1985709
    bounded_seq(big),61495238,16261421
    bounded_spsc(big),158346847,6315250
    unbounded_mpmc(big),894429415,1118031
    unbounded_mpsc(big),507248479,1971420
    unbounded_seq(big),66102531,15128014
    unbounded_spsc(big),160468692,6231745

  • sleep 2

  • ./target/release/kanal-async

  • tee target/kanal-async.csv
    kanal-async
    bounded0_mpmc(empty),772056626,1295242
    bounded0_mpsc(empty),320337742,3121705
    bounded0_spsc(empty),139261691,7180726
    bounded1_mpmc(empty),798045888,1253061
    bounded1_mpsc(empty),264857459,3775616
    bounded1_spsc(empty),110526606,9047595
    bounded_mpmc(empty),510052793,1960581
    bounded_mpsc(empty),406033630,2462850
    bounded_seq(empty),35663275,28040049
    bounded_spsc(empty),222762071,4489095
    unbounded_mpmc(empty),624065905,1602395
    unbounded_mpsc(empty),280595114,3563854
    unbounded_seq(empty),33245162,30079564
    unbounded_spsc(empty),40024711,24984565
    bounded0_mpmc(usize),752762975,1328439
    bounded0_mpsc(usize),336268773,2973812
    bounded0_spsc(usize),140911850,7096635
    bounded1_mpmc(usize),836553649,1195381
    bounded1_mpsc(usize),273913309,3650790
    bounded1_spsc(usize),106424284,9396352
    bounded_mpmc(usize),738555070,1353995
    bounded_mpsc(usize),418913848,2387126
    bounded_seq(usize),36446939,27437145
    bounded_spsc(usize),171122497,5843767
    unbounded_mpmc(usize),705979200,1416472
    unbounded_mpsc(usize),413428236,2418799
    unbounded_seq(usize),38864462,25730447
    unbounded_spsc(usize),117123418,8538002
    bounded0_mpmc(big),769941596,1298800
    bounded0_mpsc(big),362669383,2757332
    bounded0_spsc(big),156844074,6375759
    bounded1_mpmc(big),892227043,1120791
    bounded1_mpsc(big),304830134,3280516
    bounded1_spsc(big),124003565,8064284
    bounded_mpmc(big),815358885,1226454
    bounded_mpsc(big),445786257,2243228
    bounded_seq(big),73921863,13527797
    bounded_spsc(big),125546779,7965159
    unbounded_mpmc(big),842876971,1186413
    unbounded_mpsc(big),458777833,2179704
    unbounded_seq(big),79520045,12575445
    unbounded_spsc(big),222937838,4485555

  • sleep 2

  • ./target/release/kanal-std-mutex

  • tee target/kanal-std-mutex.csv
    kanal-std-mutex
    bounded0_mpmc(empty),1510162717,662180
    bounded0_mpsc(empty),1247000172,801925
    bounded0_spsc(empty),556677941,1796371
    bounded1_mpmc(empty),1396888806,715877
    bounded1_mpsc(empty),1301544361,768318
    bounded1_spsc(empty),386688854,2586059
    bounded_mpmc(empty),350901431,2849803
    bounded_mpsc(empty),249229028,4012374
    bounded_seq(empty),44076132,22688016
    bounded_spsc(empty),267724916,3735177
    unbounded_mpmc(empty),350570449,2852494
    unbounded_mpsc(empty),243388371,4108660
    unbounded_seq(empty),40070866,24955787
    unbounded_spsc(empty),274066519,3648749
    bounded0_mpmc(usize),1547078301,646380
    bounded0_mpsc(usize),1321113672,756937
    bounded0_spsc(usize),608762326,1642677
    bounded1_mpmc(usize),1529131523,653966
    bounded1_mpsc(usize),1360742016,734893
    bounded1_spsc(usize),448925235,2227542
    bounded_mpmc(usize),466060394,2145645
    bounded_mpsc(usize),326215537,3065458
    bounded_seq(usize),44414696,22515069
    bounded_spsc(usize),307417895,3252901
    unbounded_mpmc(usize),479639946,2084897
    unbounded_mpsc(usize),328411696,3044959
    unbounded_seq(usize),44525798,22458890
    unbounded_spsc(usize),289221785,3457554
    bounded0_mpmc(big),1577245054,634017
    bounded0_mpsc(big),1402591026,712966
    bounded0_spsc(big),631073662,1584601
    bounded1_mpmc(big),1569064408,637322
    bounded1_mpsc(big),1523538417,656367
    bounded1_spsc(big),515577882,1939571
    bounded_mpmc(big),670021371,1492490
    bounded_mpsc(big),385334127,2595150
    bounded_seq(big),81654837,12246672
    bounded_spsc(big),246049082,4064230
    unbounded_mpmc(big),673651250,1484448
    unbounded_mpsc(big),429053890,2330710
    unbounded_seq(big),89006804,11235096
    unbounded_spsc(big),410572043,2435626

  • sleep 2

  • ./target/release/kanal-std-mutex-async

  • tee target/kanal-std-mutex-async.csv
    kanal-std-mutex-async
    bounded0_mpmc(empty),893642388,1119016
    bounded0_mpsc(empty),431807175,2315849
    bounded0_spsc(empty),165559370,6040129
    bounded1_mpmc(empty),851737771,1174070
    bounded1_mpsc(empty),476730320,2097622
    bounded1_spsc(empty),127558187,7839559
    bounded_mpmc(empty),416662286,2400025
    bounded_mpsc(empty),301835740,3313060
    bounded_seq(empty),52008271,19227711
    bounded_spsc(empty),65067234,15368718
    unbounded_mpmc(empty),413098426,2420731
    unbounded_mpsc(empty),317394339,3150655
    unbounded_seq(empty),52095716,19195436
    unbounded_spsc(empty),93153346,10734987
    bounded0_mpmc(usize),895376967,1116848
    bounded0_mpsc(usize),433471107,2306959
    bounded0_spsc(usize),161100159,6207318
    bounded1_mpmc(usize),895748656,1116385
    bounded1_mpsc(usize),482368599,2073103
    bounded1_spsc(usize),134727901,7422368
    bounded_mpmc(usize),466899521,2141788
    bounded_mpsc(usize),363727757,2749309
    bounded_seq(usize),56163673,17805103
    bounded_spsc(usize),115090363,8688825
    unbounded_mpmc(usize),481582793,2076486
    unbounded_mpsc(usize),362746102,2756749
    unbounded_seq(usize),77222033,12949672
    unbounded_spsc(usize),74690639,13388558
    bounded0_mpmc(big),928995571,1076431
    bounded0_mpsc(big),455242402,2196632
    bounded0_spsc(big),184053723,5433196
    bounded1_mpmc(big),955986991,1046039
    bounded1_mpsc(big),543127280,1841189
    bounded1_spsc(big),146633029,6819746
    bounded_mpmc(big),582482515,1716790
    bounded_mpsc(big),436644344,2290193
    bounded_seq(big),91814017,10891583
    bounded_spsc(big),316292291,3161633
    unbounded_mpmc(big),593856434,1683909
    unbounded_mpsc(big),499097636,2003616
    unbounded_seq(big),101776728,9825429
    unbounded_spsc(big),111582928,8961944

  • sleep 2

  • ./target/release/go_bench

  • tee target/go.csv
    go chan1.19.3
    bounded0_mpmc(empty),952180770,1050220
    bounded0_mpsc(empty),397626666,2514921
    bounded0_spsc(empty),266938079,3746187
    bounded1_mpmc(empty),850933026,1175180
    bounded1_mpsc(empty),307274410,3254420
    bounded1_spsc(empty),193672628,5163352
    bounded_mpmc(empty),658645719,1518266
    bounded_mpsc(empty),289977899,3448538
    bounded_seq(empty),62348148,16038968
    bounded_spsc(empty),131090288,7628330
    bounded0_mpmc(usize),957501650,1044384
    bounded0_mpsc(usize),404488154,2472260
    bounded0_spsc(usize),267747729,3734858
    bounded1_mpmc(usize),872758406,1145792
    bounded1_mpsc(usize),335858267,2977446
    bounded1_spsc(usize),203861937,4905280
    bounded_mpmc(usize),743881170,1344300
    bounded_mpsc(usize),318957715,3135211
    bounded_seq(usize),71195323,14045866
    bounded_spsc(usize),146553403,6823451
    bounded0_mpmc(big),976555361,1024007
    bounded0_mpsc(big),421176478,2374301
    bounded0_spsc(big),278059110,3596357
    bounded1_mpmc(big),906601423,1103020
    bounded1_mpsc(big),328800152,3041361
    bounded1_spsc(big),210610312,4748105
    bounded_mpmc(big),803008620,1245316
    bounded_mpsc(big),353175592,2831452
    bounded_seq(big),84037080,11899508
    bounded_spsc(big),171405058,5834133

  • echo 'Test Environment:'
    Test Environment:

  • uname -srvp
    Linux 6.0.7-200.fc36.x86_64 fixing issues and improving the repo #1 SMP PREEMPT_DYNAMIC Thu Nov 3 17:09:02 UTC 2022 x86_64

  • rustc --version
    rustc 1.67.0-nightly (42325c525 2022-11-11)

  • go version
    go version go1.19.3 linux/amd64

I've attached the .csv files for this one.

kanalChannelBenchmarksFedSilv36PhenomX8.zip

@omac777
Copy link
Author

omac777 commented Nov 12, 2022

Please close it. I just did as you requested which was run the kanal benchmarks with the latest kernel 6.07-200 found in fedora silverblue 36 on phenom x8. I hope it proves useful to you. Thank you again. Cheers.

@fereidani
Copy link
Owner

Thanks for the time that you put to test Kanal, I really appreciate it. It's useful for sure, I need to know how Kanal is performing in different hardware.
I hope to see you again using and contributing to Kanal.

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

No branches or pull requests

2 participants