-
Notifications
You must be signed in to change notification settings - Fork 457
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
Speed up scanning memcache responses, increase throughput. #74
Conversation
The Sscanf was revealed as being CPU intensive by the -cpuprofile option (It has to use reflection to know what to parse?) ``` export GOMAXPROCS=4; go test -run='^$' -bench SetGet -benchtime 5s ``` Before this change: BenchmarkSetGet-4 200000 50299 ns/op After this change: BenchmarkSetGet-4 200000 45301 ns/op
Thanks for your pull request. It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please visit https://cla.developers.google.com/ to sign. Once you've signed, please reply here (e.g.
|
I signed it! |
CLAs look good, thanks! |
We found a Contributor License Agreement for you (the sender of this pull request), but were unable to find agreements for the commit author(s). If you authored these, maybe you used a different email address in the git commits than was used to sign the CLA (login here to double check)? If these were authored by someone else, then they will need to sign a CLA as well, and confirm that they're okay with these being contributed to Google. |
a9169c0
to
10bcdf3
Compare
CLAs look good, thanks! |
"testing" | ||
"time" | ||
) | ||
|
||
const testServer = "localhost:11211" | ||
|
||
func setup(t *testing.T) bool { | ||
type skippable interface { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(you can use testing.TB interface)
if err != nil { | ||
return -1, fmt.Errorf("memcache: unexpected size in %q: %v", line, err) | ||
} | ||
if partsCount >= 4 { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can it be larger than 4?
Closing in favor of #154 Sorry for ignoring this for 5 years 😢 |
The Sscanf was revealed as being CPU intensive by the -cpuprofile option
(It has to use reflection to know what to parse?)
Before this change: BenchmarkSetGet-4 200000 50299 ns/op
After this change: BenchmarkSetGet-4 200000 45301 ns/op