Update to go1.22; speed up recursiveScan #402
Closed
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.
With Go 1.23.0 being released, I figured it was time for us to update bincapz to 1.22. This PR handles the Go update along with package updates, including
clog
which requires Go 1.22.I also updated the
slogtest.TestContextWithLogger
calls toslogtest.Context
insamples_test.go
.Additionally, I add some concurrency to
recursiveScan
which makes quite a big impact when scanning numerous directories/files:main
:goos: linux
goarch: amd64
pkg: github.com/chainguard-dev/bincapz/samples
cpu: AMD Ryzen 7 7840U w/ Radeon 780M Graphics
BenchmarkRun-16 1 83237798093 ns/op 761214920 B/op 4789175 allocs/op
PASS
ok github.com/chainguard-dev/bincapz/samples 83.323s
New code:
goos: linux
goarch: amd64
pkg: github.com/chainguard-dev/bincapz/samples
cpu: AMD Ryzen 7 7840U w/ Radeon 780M Graphics
BenchmarkRun-16 1 50308758726 ns/op 762749936 B/op 4789434 allocs/op
PASS
ok github.com/chainguard-dev/bincapz/samples 50.402s
We're still hitting single-threaded bottlenecks during certain portions of the code execution so I'm tracking those down.