Skip to content

[release/1.7 backport] reference: reduce allocations and improve GoDoc#10395

Merged
dmcgowan merged 4 commits intocontainerd:release/1.7from
thaJeztah:1.7_backport_improve_reference
Jun 28, 2024
Merged

[release/1.7 backport] reference: reduce allocations and improve GoDoc#10395
dmcgowan merged 4 commits intocontainerd:release/1.7from
thaJeztah:1.7_backport_improve_reference

Conversation

@thaJeztah
Copy link
Copy Markdown
Member

👉 note that the pkg/reference package is still at reference in the 1.7 branch, but Git was happy to cherry-pick the changes and apply them to the right files 🎉

…intf

These were straight concatenations of strings; reduce some allocations by
removing fmt.Sprintf for this.

Signed-off-by: Sebastiaan van Stijn <[email protected]>
(cherry picked from commit 799bca9)
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]>
(cherry picked from commit 74a6156)
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]>
(cherry picked from commit 4214595)
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]>
(cherry picked from commit a5fce38)
Signed-off-by: Sebastiaan van Stijn <[email protected]>
@k8s-ci-robot
Copy link
Copy Markdown

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@thaJeztah
Copy link
Copy Markdown
Member Author

@dmcgowan ptal 🤗 (I'll rebase #10397 after this)

@dmcgowan dmcgowan merged commit 447583e into containerd:release/1.7 Jun 28, 2024
@thaJeztah thaJeztah deleted the 1.7_backport_improve_reference branch June 28, 2024 17:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants