https://github.com/cilium/cilium
Revision 21833b3bc0f4572c5527ee2361592859087496f1 authored by MikeLing on 08 August 2022, 12:00:35 UTC, committed by Maciej Kwiek on 12 September 2022, 16:13:05 UTC
[ upstream commit b9e6d8233c9ff12aac08b5a2d0a9b8b13747dc3e ]

Avoiding to use  fmt.Sprintf() so that Go won't over-allocate the memory.

issue reference : cilium#19571

Result:

```
$ go test -v -benchmem -run=^$ -bench 'BenchmarkErrNotVRouterAnnoError' github.com/cilium/cilium/pkg/bgpv1 > BenchmarkErrNotVRouterAnnoError_old.txt
$ go test -v -benchmem -run=^$ -bench 'BenchmarkErrErrNoASNAnno' github.com/cilium/cilium/pkg/bgpv1 > BenchmarkErrErrNoASNAnno_old.txt
$ go test -v -benchmem -run=^$ -bench 'BenchmarkErrASNAnno' github.com/cilium/cilium/pkg/bgpv1 > BenchmarkErrASNAnno_old.txt
$ go test -v -benchmem -run=^$ -bench 'BenchmarkErrNotVRouterAnnoError' github.com/cilium/cilium/pkg/bgpv1 > BenchmarkErrNotVRouterAnnoError_new.txt
$ go test -v -benchmem -run=^$ -bench 'BenchmarkErrErrNoASNAnno' github.com/cilium/cilium/pkg/bgpv1 > BenchmarkErrErrNoASNAnno_new.txt
$ go test -v -benchmem -run=^$ -bench 'BenchmarkErrASNAnno' github.com/cilium/cilium/pkg/bgpv1 > BenchmarkErrASNAnno_new.txt
$ benchcmp BenchmarkErrNotVRouterAnnoError_old.txt BenchmarkErrNotVRouterAnnoError_new.txt
benchcmp is deprecated in favor of benchstat: https://pkg.go.dev/golang.org/x/perf/cmd/benchstat
benchmark                              old ns/op     new ns/op     delta
BenchmarkErrNotVRouterAnnoError-12     186           47.2          -74.67%

benchmark                              old allocs     new allocs     delta
BenchmarkErrNotVRouterAnnoError-12     2              1              -50.00%

benchmark                              old bytes     new bytes     delta
BenchmarkErrNotVRouterAnnoError-12     96            80            -16.67%
$ benchcmp BenchmarkErrErrNoASNAnno_old.txt BenchmarkErrErrNoASNAnno_new.txt
benchcmp is deprecated in favor of benchstat: https://pkg.go.dev/golang.org/x/perf/cmd/benchstat
benchmark                       old ns/op     new ns/op     delta
BenchmarkErrErrNoASNAnno-12     143           45.0          -68.49%

benchmark                       old allocs     new allocs     delta
BenchmarkErrErrNoASNAnno-12     2              1              -50.00%

benchmark                       old bytes     new bytes     delta
$ benchcmp BenchmarkErrASNAnno_old.txt BenchmarkErrASNAnno_new.txt
benchcmp is deprecated in favor of benchstat: https://pkg.go.dev/golang.org/x/perf/cmd/benchstat
benchmark                  old ns/op     new ns/op     delta
BenchmarkErrASNAnno-12     252           61.6          -75.59%

benchmark                  old allocs     new allocs     delta
BenchmarkErrASNAnno-12     3              1              -66.67%

benchmark                  old bytes     new bytes     delta
BenchmarkErrASNAnno-12     112           80            -28.57%
```

Signed-off-by: MikeLing <sabergeass@gmail.com>
Signed-off-by: Jussi Maki <jussi@isovalent.com>
1 parent dc13b76
History
Tip revision: 21833b3bc0f4572c5527ee2361592859087496f1 authored by MikeLing on 08 August 2022, 12:00:35 UTC
pkg/bgpv1/annotations: Optimize annotations Errors
Tip revision: 21833b3
File Mode Size
.github
.travis
Documentation
api
bpf
bugtool
cilium
cilium-health
clustermesh-apiserver
contrib
daemon
envoy
examples
hack
hubble-relay
images
install
jenkinsfiles
operator
pkg
plugins
proxylib
test
tools
vendor
.authors.aux -rw-r--r-- 416 bytes
.clomonitor.yml -rw-r--r-- 181 bytes
.gitattributes -rw-r--r-- 367 bytes
.gitignore -rw-r--r-- 1.5 KB
.golangci.yaml -rw-r--r-- 3.5 KB
.mailmap -rw-r--r-- 5.3 KB
.travis.yml -rw-r--r-- 492 bytes
AUTHORS -rw-r--r-- 29.4 KB
CHANGELOG.md -rw-r--r-- 69.0 KB
CODEOWNERS -rw-r--r-- 1.1 KB
CODE_OF_CONDUCT.md -rw-r--r-- 2.2 KB
CONTRIBUTING.md -rw-r--r-- 473 bytes
FURTHER_READINGS.rst -rw-r--r-- 6.4 KB
GO_VERSION -rw-r--r-- 7 bytes
LICENSE -rw-r--r-- 11.1 KB
MAINTAINERS.md -rw-r--r-- 4.0 KB
Makefile -rw-r--r-- 30.4 KB
Makefile.defs -rw-r--r-- 7.3 KB
Makefile.docker -rw-r--r-- 6.4 KB
Makefile.quiet -rw-r--r-- 818 bytes
README.rst -rw-r--r-- 16.6 KB
SECURITY.md -rw-r--r-- 615 bytes
USERS.md -rw-r--r-- 18.0 KB
VERSION -rw-r--r-- 7 bytes
Vagrantfile -rw-r--r-- 14.8 KB
go.mod -rw-r--r-- 11.1 KB
go.sum -rw-r--r-- 159.7 KB
netlify.toml -rw-r--r-- 92 bytes
stable.txt -rw-r--r-- 8 bytes
vagrant_box_defaults.rb -rw-r--r-- 394 bytes

README.rst

back to top