Use ugorji codec for unmarshalling key responses in client #3308
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change speeds up response unmarshal ~2x:
BEFORE:
AFTER:
Its performance is nearly the same as the one benchmarked in coreos/go-etcd#218. So two packages perform similarly.
@wojtek-t
I have attempted to use ffjson, but it doesn't perform as well as codec. Here is its benchmark:
So I still use codec in etcd/client pkg.
/cc @fgrzadkowski @wojtek-t @timothysc
fixes #3193
ref kubernetes/kubernetes#11962