Skip to content

channel

ruki edited this page Oct 30, 2016 · 8 revisions

Run (no buffer)

$ xmake coroutine -n channel

Macosx (x86_64)

tbox:               10000000 passes in 916 ms, 10917030 passes per second
libmill:            10000000 passes in 3460 ms, 2890173 passes per second
libtask:            10000000 passes in 3646 ms, 2742731 passes per second
golang:             10000000 passes in 3180 ms, 3144654 passes per second

ArchLinux (i386) + VirtualBox

tbox:               10000000 passes in 2137 ms, 4679457 passes per second
libmill:            10000000 passes in 7859 ms, 1272426 passes per second
libtask:            10000000 passes in 18693 ms, 534959 passes per second
libgo(boost):       10000000 passes in 20063 ms, 498429 passes per second
libfiber(acl):      10000000 passes in 9496 ms, 1053074 passes per second
golang:             10000000 passes in 8781 ms, 1138822 passes per second

LinuxMint (x86_64) + VirtaulBox

tbox:               10000000 passes in 1702 ms, 5875440 passes per second
libmill:            10000000 passes in 2298 ms, 4351610 passes per second
libtask:            10000000 passes in 12894 ms, 775554 passes per second
libgo(boost):       10000000 passes in 11391 ms, 877886 passes per second
libfiber(acl):      10000000 passes in 4452 ms, 2246181 passes per second
golang:             10000000 passes in 5343 ms, 1871607 passes per second

Windows Xp (x86) + VirtualBox

tbox:               10000000 passes in 7714 ms, 1291822 passes per second

Windows Win7 (x64) + VirtualBox

tbox:               10000000 passes in 5078 ms, 1969279 passes per second

Run (buffer: 10000)

$ xmake coroutine -n channel 10000

Macosx (x86_64)

tbox:               10000000 passes in 404 ms, 24752475 passes per second
libmill:            10000000 passes in 4401 ms, 2272210 passes per second
libtask:            10000000 passes in 2785 ms, 3590664 passes per second
golang:             10000000 passes in 1135 ms, 8810572 passes per second

ArchLinux (i386) + VirtualBox

tbox:               10000000 passes in 212 ms, 47169811 passes per second
libmill:            10000000 passes in 3272 ms, 3056234 passes per second
libtask:            10000000 passes in 1624 ms, 6157635 passes per second
libgo(boost):       10000000 passes in 1720 ms, 5813953 passes per second
libfiber(acl):      10000000 passes in 1779 ms, 5621135 passes per second
golang:             10000000 passes in 768 ms, 13020833 passes per second

LinuxMint (x86_64) + VirtaulBox

tbox:               10000000 passes in 293 ms, 34129692 passes per second
libmill:            10000000 passes in 1135 ms, 8810572 passes per second
libtask:            10000000 passes in 1528 ms, 6544502 passes per second
libgo(boost):       10000000 passes in 1362 ms, 7342143 passes per second
libfiber(acl):      10000000 passes in 1510 ms, 6622516 passes per second
golang:             10000000 passes in 782 ms, 12787723 passes per second
Clone this wiki locally