New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
crypto/tls: drop in BenchmarkThroughput performance #17779
Labels
Milestone
Comments
Yeah, it's at least something for the release notes. /cc @agl |
CL https://golang.org/cl/32871 mentions this issue. |
CL https://golang.org/cl/32838 mentions this issue. |
gopherbot
pushed a commit
that referenced
this issue
Nov 7, 2016
CL 32871 updated the default cipher suites to use AES-GCM in preference to ChaCha20-Poly1305 on platforms which have hardware implementations of AES-GCM. This change makes BenchmarkThroughput use the default cipher suites instead of the test cipher suites to ensure that the recommended (fastest) algorithms are used. Updates #17779. Change-Id: Ib551223e4a00b5ea197d4d73748e1fdd8a47c32d Reviewed-on: https://go-review.googlesource.com/32838 Run-TryBot: Michael Munday <munday@ca.ibm.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Adam Langley <agl@golang.org>
FiloSottile
pushed a commit
to FiloSottile/go
that referenced
this issue
Oct 12, 2018
…re support is present. Support for ChaCha20-Poly1305 ciphers was recently added to crypto/tls. These ciphers are preferable in software, but they cannot beat hardware support for AES-GCM, if present. This change moves detection for hardware AES-GCM support into cipher/internal/cipherhw so that it can be used from crypto/tls. Then, when AES-GCM hardware is present, the AES-GCM cipher suites are prioritised by default in crypto/tls. (Some servers, such as Google, respect the client's preference between AES-GCM and ChaCha20-Poly1305.) Fixes golang#17779. Change-Id: I50de2be486f0b0b8052c4628d3e3205a1d54a646 Reviewed-on: https://go-review.googlesource.com/32871 Run-TryBot: Adam Langley <agl@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
FiloSottile
pushed a commit
to FiloSottile/go
that referenced
this issue
Oct 12, 2018
…re support is present. Support for ChaCha20-Poly1305 ciphers was recently added to crypto/tls. These ciphers are preferable in software, but they cannot beat hardware support for AES-GCM, if present. This change moves detection for hardware AES-GCM support into cipher/internal/cipherhw so that it can be used from crypto/tls. Then, when AES-GCM hardware is present, the AES-GCM cipher suites are prioritised by default in crypto/tls. (Some servers, such as Google, respect the client's preference between AES-GCM and ChaCha20-Poly1305.) Fixes golang#17779. Change-Id: I50de2be486f0b0b8052c4628d3e3205a1d54a646 Reviewed-on: https://go-review.googlesource.com/32871 Run-TryBot: Adam Langley <agl@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
What version of Go are you using (
go version
)?go version devel +4141054 Thu Nov 3 17:42:01 2016 +0000 darwin/amd64
What did you do?
go test crypto/tls -bench BenchmarkThroughput
What did you expect to see?
Similar performance to 1.7.1.
What did you see instead?
A slowdown from 1.7.1 (apologies for the noisy benchmarks, this is on my laptop):
It looks like (although I haven't verified it) this is because the default cipher suite in crypto/tls is now using ChaCha20/Poly1305 in preference to AES-GCM. I suspect this is fine (and is probably better for arm etc.), but I thought I'd open this issue in case it requires documentation or something.
The text was updated successfully, but these errors were encountered: