]>
Cypherpunks repositories - gostls13.git/commit
crypto/tls, crypto/aes: remove allocations when Writing & Reading
benchmark old ns/op new ns/op delta
BenchmarkTLS-4 8571 7938 -7.39%
benchmark old MB/s new MB/s speedup
BenchmarkTLS-4 119.46 128.98 1.08x
benchmark old allocs new allocs delta
BenchmarkTLS-4 8 0 -100.00%
benchmark old bytes new bytes delta
BenchmarkTLS-4 128 0 -100.00%
On:
func BenchmarkTLS(b *testing.B) {
b.ReportAllocs()
b.SetBytes(1024)
ts := httptest.NewTLSServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
io.Copy(ioutil.Discard, r.Body)
}))
defer ts.Close()
buf := make([]byte, 1024)
for i := range buf {
buf[i] = byte(i)
}
c, err := tls.Dial("tcp", ts.Listener.Addr().String(), &tls.Config{
InsecureSkipVerify: true,
})
if err != nil {
b.Fatal(err)
}
defer c.Close()
clen := int64(b.N) * 1024
if _, err := c.Write([]byte(
"POST / HTTP/1.1\r\nHost: foo\r\nContent-Length: " +
fmt.Sprint(clen) + "\r\n\r\n")); err != nil {
b.Fatal(err)
}
b.ResetTimer()
for i := 0; i < b.N; i++ {
if _, err := c.Write(buf); err != nil {
b.Fatal(err)
}
}
}
Change-Id: I206e7e2118b97148f9751b740d8470895634d3f5
Reviewed-on: https://go-review.googlesource.com/16828
Reviewed-by: Adam Langley <agl@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>