go: x/crypto/chacha20poly1305: linux/arm64 Go 1.9 performance is 3X slower than OpenSSL

Please answer these questions before submitting your issue. Thanks!

What version of Go are you using (go version)?

go version go1.9.2 linux/arm64

Does this issue reproduce with the latest release?

yes

What operating system and processor architecture are you using (go env)?

GOARCH=“arm64” GOBIN=“” GOEXE=“” GOHOSTARCH=“arm64” GOHOSTOS=“linux” GOOS=“linux” GOPATH=“” GORACE=“” GOROOT=“/usr/lib/go-1.6” GOTOOLDIR=“/usr/lib/go-1.6/pkg/tool/linux_arm64” GO15VENDOREXPERIMENT=“1” CC=“gcc” GOGCCFLAGS=“-fPIC -pthread -fmessage-length=0” CXX=“g++” CGO_ENABLED=“1”

What did you do?

go test vendor/golang_org/x/crypto/chacha20poly1305 -bench .

What did you expect to see?

Performance can be on par with OpenSSL (https://blog.cloudflare.com/content/images/2017/11/sym_key_1_core.png)

What did you see instead?

3X slower than OpenSSL( https://blog.cloudflare.com/content/images/2017/11/go_sym_key_1_core.png)

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Comments: 17 (8 by maintainers)

Commits related to this issue

Most upvoted comments

@FiloSottile This was marked for 1.12. Things still on target for that?

At present arm64 assembly is typically reviewed by the tireless @cherrymui . I’m sure @benshi001 would also have good input.

I changed the milestone, but note that that doesn’t cause the work to be done. This is an open source project so the best way to get something done is to volunteer to do it. Thanks.