This repository was archived by the owner on Mar 23, 2023. It is now read-only.
Add a bunch of micro benchmarks.#201
Merged
trotterdylan merged 1 commit intogoogle:masterfrom Jan 24, 2017
Merged
Conversation
Method covered by new benchmarks: * Dict.GetItem * Dict.IterItems * Dict.IterKeys * Dict.IterValues * NewInt - Fixed so that references aren't elided anymore. * NewStr
trotterdylan
approved these changes
Jan 24, 2017
Contributor
trotterdylan
left a comment
There was a problem hiding this comment.
This is cool thanks for adding these! The KeepAlive thing is subtle. Did you notice a significant difference in performance with and without? What optimizations necessitate it?
Merging.
Contributor
Author
|
The keep alive (currently) helps prevent the Go compiler from removing the assignment to the variables and getting too clever. In the one case, (NewInt) was basically being inlined away. While I am sure this isn't a correct solution for the long term, it seems to work today. If for some reason a new Go version makes the benchmarks much much faster, then we have some work to do :) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Method covered by new benchmarks:
I have some improvements in the Dict area and I thought it might be good to get some benchmarks on the ground first.