-
Brad Fitzpatrick authored
Reduces process-wide heap (inuse_space) by 60kB by using a pointer to a fixed-sized array instead of a slice of a fixed size. Before: 119.44kB 23.43% 23.43% 147.88kB 29.01% golang.org/x/net/http2/hpack.addDecoderNode After: 59.72kB 13.28% 39.85% 87.94kB 19.56% golang.org/x/net/http2/hpack.addDecoderNode (This is all work from an init func in http2/hpack) Doesn't seem to affect runtime performance. Measured with: $ cat huffman_test.go package main import ( "testing" _ "golang.org/x/net/http2" ) func TestMem(t *testing.T) {} $ GODEBUG=memprofilerate=1 go test -memprofilerate=1 -memprofile=mem.prof -v . === RUN TestMem --- PASS: TestMem (0.00s) PASS ok huffmem 0.052s $ go tool pprof --inuse_space mem.prof Change-Id: I5e56a5a2682f1063c955b342b37e97ca4c303dab Reviewed-on: https://go-review.googlesource.com/127235Reviewed-by: Ian Lance Taylor <iant@golang.org>
32f9bdbd
Name |
Last commit
|
Last update |
---|---|---|
bpf | ||
context | ||
dict | ||
dns/dnsmessage | ||
html | ||
http | ||
http2 | ||
icmp | ||
idna | ||
internal | ||
ipv4 | ||
ipv6 | ||
lif | ||
nettest | ||
netutil | ||
proxy | ||
publicsuffix | ||
route | ||
trace | ||
webdav | ||
websocket | ||
xsrftoken | ||
.gitattributes | ||
.gitignore | ||
AUTHORS | ||
CONTRIBUTING.md | ||
CONTRIBUTORS | ||
LICENSE | ||
PATENTS | ||
README.md | ||
codereview.cfg |