pkg/reference: reduce allocations and improve GoDoc#10393
Merged
mxpv merged 4 commits intocontainerd:mainfrom Jun 27, 2024
Merged
pkg/reference: reduce allocations and improve GoDoc#10393mxpv merged 4 commits intocontainerd:mainfrom
mxpv merged 4 commits intocontainerd:mainfrom
Conversation
…intf These were straight concatenations of strings; reduce some allocations by removing fmt.Sprintf for this. Signed-off-by: Sebastiaan van Stijn <[email protected]>
Before / After:
BenchmarkSplitObject-10 2785656 428.1 ns/op 416 B/op 13 allocs/op
BenchmarkSplitObjectNew-10 13510520 88.2 ns/op 0 B/op 0 allocs/op
Signed-off-by: Sebastiaan van Stijn <[email protected]>
The behavior of this function is quite counter-intuitive, as it preserves the delimiter in the result. This function should probably have been an internal function, as its use for external consumers would be very limited, but let's at least document the (surprising) behavior for those that are considering to use it. It appears that BuildKit is currently the only (publicly visible) external consumer of this function; I am planning to inline its functionality in Spec.Digest() and to deprecate this function so that it can be removed. Signed-off-by: Sebastiaan van Stijn <[email protected]>
Inline the relevant code from SplitObject, as we're only interested in the digest portion. Signed-off-by: Sebastiaan van Stijn <[email protected]>
This was referenced Jun 27, 2024
dmcgowan
approved these changes
Jun 27, 2024
dcantah
approved these changes
Jun 27, 2024
mxpv
approved these changes
Jun 27, 2024
Member
Author
|
Hm... looks like the merge queue ran into a whoopsie on GitHub; |
laurazard
approved these changes
Jun 27, 2024
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
pkg/reference: Spec.String(): use string-concatenation instead of sprintf
These were straight concatenations of strings; reduce some allocations by
removing fmt.Sprintf for this.
pkg/reference: SplitObject: zero allocations
Before / After:
pkg/reference: SplitObject: add proper GoDoc
The behavior of this function is quite counter-intuitive, as it preserves
the delimiter in the result. This function should probably have been an
internal function, as its use for external consumers would be very limited,
but let's at least document the (surprising) behavior for those that are
considering to use it.
It appears that BuildKit is currently the only (publicly visible) external
consumer of this function; I am planning to inline its functionality in
Spec.Digest() and to deprecate this function so that it can be removed.
pkg/reference: Spec.Digest(): inline SplitObject code
Inline the relevant code from SplitObject, as we're only interested in
the digest portion.