-
Notifications
You must be signed in to change notification settings - Fork 114
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
several improvements to your great app #30
Conversation
Thanks @robaho ! Nice cleanup (many of these things like hdrhistograms were not available when I wrote this). |
Hi. Glad to help. I am 99.9999% certain you do not want to set GOMAXPROCS to the number of Go routines. Go uses For instance, using the same client/server setup: Using default GOMAXPROCS:
Setting GOMAXPROCS equal to the number of Go routines:
The problem is the thread scheduling overhead it creates - so the throughput and average times drop by more than 50% in this case. It only gets worse the higher you set GOMAXPROCS. I did send an email to go-nuts asking about this. I believe it is a different story if you are performing disk IO. I am more than happy to make it mergable - the only reason is that I am using later versions of the packages. |
ok. Thanks for asking them. I saw the answer. |
What other adjustments? I updated the PR for the other changes - and it says it can be automatically merged. |
Thanks @robaho ! |
You’re welcome! |
Merge pull request tsliwowicz#30 from robaho/master
The changes are:
doesn't report errors to console to make it hard to read. creates a map of errors and prints that at the end.
adds a histogram for timings
no longer sets GOMAXPROCS directly. I think this was incorrect. Still, you can change it usings -cpus or GOMAXPROCS environment variable.
updates Go to latest version, 1.22
update Go modules