diff options
author | Jakob Unterwurzacher | 2016-05-12 09:50:36 +0200 |
---|---|---|
committer | Jakob Unterwurzacher | 2016-05-12 09:50:36 +0200 |
commit | 4ad9d4e444e4f75fd388078b617c411bfab762c8 (patch) | |
tree | 0fdba9eacc805ee34cca3b6e34aeb5b0cc305401 | |
parent | 49b597f07c07bde6a2feb1f32f02fcaf34daf365 (diff) |
prefer_openssl: add amd64 constraint
Optimized assembly versions for Go GCM are only available
on amd64.
-rw-r--r-- | Documentation/MANPAGE.md | 2 | ||||
-rw-r--r-- | internal/prefer_openssl/prefer_go1.5.go | 7 | ||||
-rw-r--r-- | internal/prefer_openssl/prefer_go1.6.go | 7 |
3 files changed, 9 insertions, 7 deletions
diff --git a/Documentation/MANPAGE.md b/Documentation/MANPAGE.md index cb725d5..411a1d5 100644 --- a/Documentation/MANPAGE.md +++ b/Documentation/MANPAGE.md @@ -97,7 +97,7 @@ used internally for daemonization. **-openssl bool** : Use OpenSSL instead of built-in Go crypto (default "auto"). Using -built-in crypto is 4x slower unless you CPU has AES instructions and +built-in crypto is 4x slower unless your CPU has AES instructions and you are using Go 1.6+. In mode "auto", gocrypts chooses the faster option. diff --git a/internal/prefer_openssl/prefer_go1.5.go b/internal/prefer_openssl/prefer_go1.5.go index 4b681e7..51a07ab 100644 --- a/internal/prefer_openssl/prefer_go1.5.go +++ b/internal/prefer_openssl/prefer_go1.5.go @@ -1,9 +1,10 @@ -// +build !go1.6 -// = go 1.5 or lower +// +build !go1.6 !amd64 +// not go1.6+ OR not amd64 package prefer_openssl func PreferOpenSSL() bool { - // OpenSSL is always faster than Go GCM on old Go versions. + // OpenSSL is always faster than Go GCM on old Go versions or on anything + // other than amd64 return true } diff --git a/internal/prefer_openssl/prefer_go1.6.go b/internal/prefer_openssl/prefer_go1.6.go index 5d0f426..898db0c 100644 --- a/internal/prefer_openssl/prefer_go1.6.go +++ b/internal/prefer_openssl/prefer_go1.6.go @@ -1,10 +1,11 @@ -// +build go1.6 -// = go 1.6 or higher +// +build go1.6,amd64 +// go1.6+ AND amd64 package prefer_openssl // PreferOpenSSL tells us if OpenSSL is faster than Go GCM on this machine. -// Go GCM is fastern when the CPU has AES instructions and Go is v1.6 or higher. +// Go GCM is faster when the CPU has AES instructions and Go is v1.6 or higher +// on amd64. // // See https://github.com/rfjakob/gocryptfs/issues/23#issuecomment-218286502 // for benchmarks. |