-
Notifications
You must be signed in to change notification settings - Fork 0
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
More tests? #1
Comments
Sure.
|
I'm consistently seeing pulsar take full advantage of multiple cpus with this benchmark while core.async does not. |
P.S. @halgari I am wondering if there is something specific to Linux/JVM that shows core.async poorly at least for this one contrived case. |
No slight taken. This is a benchmark I've performed in the past, and it's good to see other datapoints. I know Pulsar uses FJ pools, so I'll dig into seeing how hard it would be to use those in core.async, and what difference it makes. |
Also if I'm reading the code right, this is only sending a single message through the ring. This would mean that at most only 2 CPUs really should be in use, a one would be sending the int and the other would be receiving. All the rest should be blocked. |
correct |
Can we get tests from other boxes? On my machine (4 core hyper-threaded OSX MBP circa 2012):
lein core.async:
Evaluation count :
120 in 60 samples of 2 calls.
Execution time mean : 615.162515 ms
Execution time std-deviation : 8.065130 ms
Execution time lower quantile : 606.073498 ms ( 2.5%)
Execution time upper quantile : 633.294586 ms (97.5%)
Overhead used : 2.123800 ns
lein pulsar:
Evaluation count : 120 in 60 samples of 2 calls.
Execution time mean : 631.772231 ms
Execution time std-deviation : 24.939520 ms
Execution time lower quantile : 582.649998 ms ( 2.5%)
Execution time upper quantile : 681.948148 ms (97.5%)
Overhead used : 2.126756 ns
The text was updated successfully, but these errors were encountered: