diff options
| author | Daniel Martí <mvdan@mvdan.cc> | 2022-03-09 14:57:58 +0000 |
|---|---|---|
| committer | Daniel Martí <mvdan@mvdan.cc> | 2022-03-10 09:12:04 +0000 |
| commit | 5a040c5a3678857f03e77822956c916e8274b2c3 (patch) | |
| tree | 67a6b227657fd5d30dec22627d090d13d338c74d /src/bytes/buffer_test.go | |
| parent | 29b968e76638c22368f775a4347a544a096d9380 (diff) | |
| download | go-5a040c5a3678857f03e77822956c916e8274b2c3.tar.xz | |
go/token: allocate fewer times at init time
go/token has had a global "keywords" map filled at init time for years.
Overall, the package's init time cost is small, as per GODEBUG=inittrace=1:
init go/token @0.51 ms, 0.004 ms clock, 1776 bytes, 5 allocs
init go/token @0.44 ms, 0.003 ms clock, 1776 bytes, 5 allocs
init go/token @0.45 ms, 0.003 ms clock, 1568 bytes, 4 allocs
However, adding the map size hint does help with the allocations:
init go/token @0.45 ms, 0.002 ms clock, 944 bytes, 2 allocs
init go/token @0.46 ms, 0.002 ms clock, 944 bytes, 2 allocs
init go/token @0.55 ms, 0.003 ms clock, 1152 bytes, 3 allocs
Three samples are rather unscientific, and the clock time is basically
unchanged, but we might as well reduce the allocs.
Change-Id: I48121a4cea4113d991882e32f274d7b7736800dc
Reviewed-on: https://go-review.googlesource.com/c/go/+/391094
Trust: Daniel Martí <mvdan@mvdan.cc>
Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Diffstat (limited to 'src/bytes/buffer_test.go')
0 files changed, 0 insertions, 0 deletions
