prefer_openssl: add amd64 constraint

Optimized assembly versions for Go GCM are only available
on amd64.
This commit is contained in:
Jakob Unterwurzacher 2016-05-12 09:50:36 +02:00
parent 49b597f07c
commit 4ad9d4e444
3 changed files with 9 additions and 7 deletions

View File

@ -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.

View File

@ -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
}

View File

@ -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.