prefer_openssl: add amd64 constraint
Optimized assembly versions for Go GCM are only available on amd64.
This commit is contained in:
parent
49b597f07c
commit
4ad9d4e444
@ -97,7 +97,7 @@ used internally for daemonization.
|
|||||||
|
|
||||||
**-openssl bool**
|
**-openssl bool**
|
||||||
: Use OpenSSL instead of built-in Go crypto (default "auto"). Using
|
: 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
|
you are using Go 1.6+. In mode "auto", gocrypts chooses the faster
|
||||||
option.
|
option.
|
||||||
|
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
// +build !go1.6
|
// +build !go1.6 !amd64
|
||||||
// = go 1.5 or lower
|
// not go1.6+ OR not amd64
|
||||||
|
|
||||||
package prefer_openssl
|
package prefer_openssl
|
||||||
|
|
||||||
func PreferOpenSSL() bool {
|
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
|
return true
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
// +build go1.6
|
// +build go1.6,amd64
|
||||||
// = go 1.6 or higher
|
// go1.6+ AND amd64
|
||||||
|
|
||||||
package prefer_openssl
|
package prefer_openssl
|
||||||
|
|
||||||
// PreferOpenSSL tells us if OpenSSL is faster than Go GCM on this machine.
|
// 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
|
// See https://github.com/rfjakob/gocryptfs/issues/23#issuecomment-218286502
|
||||||
// for benchmarks.
|
// for benchmarks.
|
||||||
|
Loading…
Reference in New Issue
Block a user