-
Notifications
You must be signed in to change notification settings - Fork 20
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 Benchmarks for your feedback #6
Comments
Thanks, looking into it |
Also it would be great if you could also paste the output of |
|
second test
|
Got it, the current Select implementation is based on polling hence that is slow as evident in the second test not finishing also interesting to note for high core amd64 CPU , SPSC mode ZenQ is slower than channels for large input sizes (6 * 10^8), this shall be improved too Working on the improvements, will be released in next patch |
yep, just let me know here. I will test on both platforms and different PCs again. I did not finish also on laptop 8 core i7. |
@jdvjdv82 Hello, I have updated the codebase and would like your help in benchmarking across both windows and ubuntu if possible
Finally, I also need your hardware specs, that would really help me Thanks in advance :) |
Hello @alphadose,
|
Interesting that ZenQ select is really slow on windows for large batch sizes even with 24 cores, point noted |
ubuntu
|
go job!!! memory allocation is much better and that matters a lot |
also zenq performs worse than channels for large size SPSC in ubuntu, another interesting thing :3 |
@jdvjdv82 I have made some considerable improvements, it should now perform better in both windows and ubuntu Pls help me out with the benchmarking once more :)
|
hi, just think about how you doing ;-)
|
ubuntu
|
@alphadose sorry for delay, here are the benchmarks for both systems |
@jdvjdv82 no issues, thanks a lot for your help :) PS:- I am gathering all benchmarks here https://github.com/alphadose/ZenQ/tree/main/bench_reports |
any idea why those measurements are so inconsistent?
|
@jdvjdv82 its because ZenQ uses sync.Pool internally if pool objects get allocated more in the first phase, then the first halves will be slower due to heavy allocation and the later cases (1000 or more goroutines) will be faster because it re-uses the objects already allocated in sync.Pool. Also the vice versa is true. that's why I use benchstat and measure the outputs from at least 30 cases to have better statistical significance |
Hi, here is some feedback for you to get results on different architecture
Ubuntu 22.04
AMD Ryzen Threadripper 3960X
128 GB RAM
Simple
Selector
The text was updated successfully, but these errors were encountered: