commit | ee2e9a08232314aff259a37ef6a120ab635f1767 | [log] [tgz] |
---|---|---|
author | renthraysk <renthraysk@gmail.com> | Wed Sep 01 01:08:26 2021 +0000 |
committer | Alexander Rakoczy <alex@golang.org> | Wed Oct 13 15:36:59 2021 +0000 |
tree | 896eb6afaeeb20a8d9d6464ce4623bc4da8d02b9 | |
parent | 08712a743275a971cd736cba48c8705a77fc0230 [diff] |
http2: number of allocs reduced from 3852 to 31 buildRootHuffmanNode() was allocating a new node for every leaf of the huffman decoding tree. This PR allocates an array of nodes for all the leaf nodes, and reuses them. As buildRootHuffmanNode is only called via sync.Once, it's not significant performance wise, but still seems an unnecessary number of allocations. benchmark old ns/op new ns/op delta BenchmarkRoot-4 162847 17911 -89.00% benchmark old allocs new allocs delta BenchmarkRoot-4 3852 31 -99.20% benchmark old bytes new bytes delta BenchmarkRoot-4 92112 35056 -61.94% Change-Id: I7c1eae13fb6130090610eec1eb0347d5d1fef20c GitHub-Last-Rev: f40a4e853001be76a8713cc6429ac203313313cb GitHub-Pull-Request: golang/net#112 Reviewed-on: https://go-review.googlesource.com/c/net/+/346649 Reviewed-by: Damien Neil <dneil@google.com> Trust: Damien Neil <dneil@google.com> Trust: Alexander Rakoczy <alex@golang.org> Run-TryBot: Damien Neil <dneil@google.com> TryBot-Result: Go Bot <gobot@golang.org>
This repository holds supplementary Go networking libraries.
The easiest way to install is to run go get -u golang.org/x/net
. You can also manually git clone the repository to $GOPATH/src/golang.org/x/net
.
This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://golang.org/doc/contribute.html. The main issue tracker for the net repository is located at https://github.com/golang/go/issues. Prefix your issue with “x/net:” in the subject line, so it is easy to find.