diff options
author | Jakob Unterwurzacher | 2016-05-11 23:36:57 +0200 |
---|---|---|
committer | Jakob Unterwurzacher | 2016-05-12 00:42:42 +0200 |
commit | 49b597f07c07bde6a2feb1f32f02fcaf34daf365 (patch) | |
tree | 3e2458fd8245c5610e3dcdf439f6da96e20ac06a /internal/prefer_openssl/prefer_go1.6.go | |
parent | 384342fa5bde0f1d94da2eae865617f5ea936546 (diff) |
prefer_openssl: autodetect whether to use OpenSSL or Go GCM
Go GCM is faster than OpenSSL if the CPU has AES instructions
and you are running Go 1.6+.
The "-openssl" option now defaults to "auto".
"gocryptfs -debug -version" displays the result of the autodetection.
See https://github.com/rfjakob/gocryptfs/issues/23 for details and
benchmarks.
Diffstat (limited to 'internal/prefer_openssl/prefer_go1.6.go')
-rw-r--r-- | internal/prefer_openssl/prefer_go1.6.go | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/internal/prefer_openssl/prefer_go1.6.go b/internal/prefer_openssl/prefer_go1.6.go new file mode 100644 index 0000000..5d0f426 --- /dev/null +++ b/internal/prefer_openssl/prefer_go1.6.go @@ -0,0 +1,13 @@ +// +build go1.6 +// = go 1.6 or higher + +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. +// +// See https://github.com/rfjakob/gocryptfs/issues/23#issuecomment-218286502 +// for benchmarks. +func PreferOpenSSL() bool { + return filePreferOpenSSL("/proc/cpuinfo") +} |