mirror of
https://github.com/golang/net.git
synced 2026-03-31 18:37:08 +09:00
This generated 120 kB on the heap before at init, regardless of whether somebody used http2. Worse, because we vendored it into std, users would have two copies, for about 256 kB of memory. After CL 127235 that went down to 60 kB per copy, so 120 kB for a binary using golang.org/x/net/http2 explicitly. With this, it goes to 0 until one of the two copies in the binary actually uses one of the http2 packages. I wasn't able to measure any difference with the Once.Do in the decode path: name old time/op new time/op delta HuffmanDecode-4 732ns ± 8% 707ns ± 3% ~ (p=0.268 n=10+9) (admittedly noisy) Change-Id: I6c1065abc0c3458f3cb69e0f678978267ff35ea2 Reviewed-on: https://go-review.googlesource.com/127275 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
This is a work-in-progress HTTP/2 implementation for Go. It will eventually live in the Go standard library and won't require any changes to your code to use. It will just be automatic. Status: * The server support is pretty good. A few things are missing but are being worked on. * The client work has just started but shares a lot of code is coming along much quicker. Docs are at https://godoc.org/golang.org/x/net/http2 Demo test server at https://http2.golang.org/ Help & bug reports welcome! Contributing: https://golang.org/doc/contribute.html Bugs: https://golang.org/issue/new?title=x/net/http2:+