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

kcrManagerYield() is not O(1) #2

Open
bluebear94 opened this issue May 4, 2018 · 0 comments
Open

kcrManagerYield() is not O(1) #2

bluebear94 opened this issue May 4, 2018 · 0 comments

Comments

@bluebear94
Copy link
Member

Some tests with a small number of dummy coroutines (release mode):

$ build/test_benchmark 10000 10000
Testing coroutine performance with 10000 dummy processes and 10000 iterations
Took 0.019063 seconds to spawn the coroutines, or 1906.300000 ns per coroutine
Took 1.896333 seconds, or 18.963330 ns per iteration per dummy coroutine

$ build/test_benchmark 10000 20000
Testing coroutine performance with 20000 dummy processes and 10000 iterations
Took 0.034407 seconds to spawn the coroutines, or 1720.350000 ns per coroutine
Took 6.518289 seconds, or 32.591445 ns per iteration per dummy coroutine

$ build/test_benchmark 10000 30000
Testing coroutine performance with 30000 dummy processes and 10000 iterations
Took 0.054779 seconds to spawn the coroutines, or 1825.966667 ns per coroutine
Took 15.080154 seconds, or 50.267180 ns per iteration per dummy coroutine

$ build/test_benchmark 10000 40000
Testing coroutine performance with 40000 dummy processes and 10000 iterations
Took 0.068269 seconds to spawn the coroutines, or 1706.725000 ns per coroutine
Took 17.612784 seconds, or 44.031960 ns per iteration per dummy coroutine

The benchmark takes about 60 seconds for 10,000 iterations and 100,000 dummies.

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

1 participant