diff options
| author | Mateusz Poliwczak <mpoliwczak34@gmail.com> | 2025-05-25 16:55:00 +0200 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2025-05-31 02:59:11 -0700 |
| commit | 4f9f0ca9fcfb05873f4a88940e285c7fbf343da5 (patch) | |
| tree | 98cfeaabbc746b6a532a6bebdfb91d782e985b74 | |
| parent | eac7cf0d78a4920a916d2eb7e9ced233544fdc08 (diff) | |
| download | go-x-crypto-4f9f0ca9fcfb05873f4a88940e285c7fbf343da5.tar.xz | |
x509roots/fallback: add init time benchmark
goos: linux
goarch: amd64
pkg: golang.org/x/crypto/x509roots/fallback
cpu: AMD Ryzen 5 4600G with Radeon Graphics
│ /tmp/before │
│ sec/op │
InitTime-12 1.726m ± 0%
│ /tmp/before │
│ B/op │
InitTime-12 1.151Mi ± 0%
│ /tmp/before │
│ allocs/op │
InitTime-12 11.35k ± 0%
For golang/go#73691
Change-Id: Ic932bd7835e50dd5c6adbdf684644afa49bddebc
Reviewed-on: https://go-review.googlesource.com/c/crypto/+/676216
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Roland Shoemaker <roland@golang.org>
Reviewed-by: Sean Liao <sean@liao.dev>
Auto-Submit: Sean Liao <sean@liao.dev>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
| -rw-r--r-- | x509roots/fallback/fallback.go | 6 | ||||
| -rw-r--r-- | x509roots/fallback/fallback_test.go | 11 |
2 files changed, 16 insertions, 1 deletions
diff --git a/x509roots/fallback/fallback.go b/x509roots/fallback/fallback.go index 0f0e3a9..e4b5339 100644 --- a/x509roots/fallback/fallback.go +++ b/x509roots/fallback/fallback.go @@ -26,6 +26,10 @@ import ( ) func init() { + x509.SetFallbackRoots(newFallbackCertPool()) +} + +func newFallbackCertPool() *x509.CertPool { p := x509.NewCertPool() for _, c := range mustParse(unparsedCertificates) { if len(c.constraints) == 0 { @@ -41,7 +45,7 @@ func init() { }) } } - x509.SetFallbackRoots(p) + return p } type unparsedCertificate struct { diff --git a/x509roots/fallback/fallback_test.go b/x509roots/fallback/fallback_test.go new file mode 100644 index 0000000..e380046 --- /dev/null +++ b/x509roots/fallback/fallback_test.go @@ -0,0 +1,11 @@ +package fallback + +import "testing" + +// BenchmarkInitTime benchmarks the time it takes to parse all certificates +// in this bundle, it corresponds to the init time of this package. +func BenchmarkInitTime(b *testing.B) { + for range b.N { + newFallbackCertPool() + } +} |
