From 49b597f07c07bde6a2feb1f32f02fcaf34daf365 Mon Sep 17 00:00:00 2001 From: Jakob Unterwurzacher Date: Wed, 11 May 2016 23:36:57 +0200 Subject: 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. --- internal/prefer_openssl/prefer_test.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 internal/prefer_openssl/prefer_test.go (limited to 'internal/prefer_openssl/prefer_test.go') diff --git a/internal/prefer_openssl/prefer_test.go b/internal/prefer_openssl/prefer_test.go new file mode 100644 index 0000000..a2ed737 --- /dev/null +++ b/internal/prefer_openssl/prefer_test.go @@ -0,0 +1,23 @@ +package prefer_openssl + +import ( + "testing" +) + +func TestCurrentCPU(t *testing.T) { + t.Logf("PreferOpenSSL=%v", PreferOpenSSL()) +} + +// Has AES instructions +func TestXeonE312xx(t *testing.T) { + if filePreferOpenSSL("cpuinfo.xeon_e312xx.txt") == true { + t.Fail() + } +} + +// Pentium G do not have AES instructions +func TestPentiumG630(t *testing.T) { + if filePreferOpenSSL("cpuinfo.pentium_g630.txt") == false { + t.Fail() + } +} -- cgit v1.2.3