Stop importing nanotime from runtime via linkname #35
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.
Hi, the authors of Go decided to lock down the use of linkname. Puddle uses linkname only to import nanotime. This PR implements a simple trick that allows puddle to get rid of the use of linkname with almost no impact on performance.
I used this trick when preparing otter v2, as otter needs to store a lot of
time.Time
andtime.Now
is often too slow for the otter's needs.Here are the benchmark results, which show that
time.Since
is actually equal tonanotime
.