diff options
| -rw-r--r-- | openssl_benchmark/go-vs-openssl.md | 91 | 
1 files changed, 91 insertions, 0 deletions
| diff --git a/openssl_benchmark/go-vs-openssl.md b/openssl_benchmark/go-vs-openssl.md new file mode 100644 index 0000000..3c3ec7f --- /dev/null +++ b/openssl_benchmark/go-vs-openssl.md @@ -0,0 +1,91 @@ +Go 1.4.2 +======== + +39MB/s @1k + +	go1.4/src/crypto/cipher$ go test -bench=. + +	BenchmarkAESGCMSeal1K   	   50000	     25968 ns/op	  39.43 MB/s +	BenchmarkAESGCMOpen1K   	   50000	     25914 ns/op	  39.51 MB/s +	[...] + +Go 1.5 +====== + +41MB/s @1k + +	go1.5/src/crypto/cipher$ ~/go/src/go1.5/bin/go test -bench=. + +	BenchmarkAESGCMSeal1K-2   	   50000	     24429 ns/op	  41.92 MB/s +	BenchmarkAESGCMOpen1K-2   	   50000	     24578 ns/op	  41.66 MB/s +	BenchmarkAESGCMSeal8K-2   	   10000	    190340 ns/op	  43.04 MB/s +	BenchmarkAESGCMOpen8K-2   	   10000	    190308 ns/op	  43.05 MB/s +	[...] + +openssl 1.0.1k +============== + +302MB/s @1k + +	$ openssl speed -elapsed -evp aes-128-gcm + +	[...] +	The 'numbers' are in 1000s of bytes per second processed. +	type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes +	aes-128-gcm      71275.15k    80063.19k   275048.36k   302066.69k   308912.13k + + +gocryptfs with openssl bindings +=============================== + +148MB/s @4k + +	gocryptfs/openssl_benchmark$ ./openssl_benchmark.bash  + +	BenchmarkAESGCMSeal4K   	   20000	     98671 ns/op	  41.51 MB/s +	BenchmarkAESGCMOpen4K   	   20000	     98679 ns/op	  41.51 MB/s +	BenchmarkOpensslGCMenc4K	   50000	     27542 ns/op	 148.72 MB/s +	BenchmarkOpensslGCMdec4K	   50000	     27564 ns/op	 148.60 MB/s + + +CPU Info +======== + +This is tested on a dual-core Intel Sandy Bridge Pentium G630 which does NOT have +aes instructions ( https://en.wikipedia.org/wiki/AES_instruction_set ) + +	$ cat /proc/cpuinfo | fold -s -w 80 + +	processor	: 0 +	vendor_id	: GenuineIntel +	cpu family	: 6 +	model		: 42 +	model name	: Intel(R) Pentium(R) CPU G630 @ 2.70GHz +	stepping	: 7 +	microcode	: 0x29 +	cpu MHz		: 1617.574 +	cache size	: 3072 KB +	physical id	: 0 +	siblings	: 2 +	core id		: 0 +	cpu cores	: 2 +	apicid		: 0 +	initial apicid	: 0 +	fpu		: yes +	fpu_exception	: yes +	cpuid level	: 13 +	wp		: yes +	flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov  +	pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm  +	constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc  +	aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16  +	xtpr pdcm pcid sse4_1 sse4_2 popcnt tsc_deadline_timer xsave lahf_lm arat epb  +	pln pts dtherm tpr_shadow vnmi flexpriority ept vpid xsaveopt +	bugs		: +	bogomips	: 5387.68 +	clflush size	: 64 +	cache_alignment	: 64 +	address sizes	: 36 bits physical, 48 bits virtual +	power management: +	 +	[...] | 
