<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gocryptfs/internal/speed, branch v2.2.0-beta2</title>
<subtitle>Mirror of gocryptfs source code on Github</subtitle>
<id>http://nuetzlich.net/cgit/gocryptfs/atom?h=v2.2.0-beta2</id>
<link rel='self' href='http://nuetzlich.net/cgit/gocryptfs/atom?h=v2.2.0-beta2'/>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/'/>
<updated>2021-09-14T16:58:22+00:00</updated>
<entry>
<title>-speed: print cpu model</title>
<updated>2021-09-14T16:58:22+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-09-14T16:47:41+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=2d0ba24ecab375f276f024bc014faad9a7ef169c'/>
<id>urn:sha1:2d0ba24ecab375f276f024bc014faad9a7ef169c</id>
<content type='text'>
When somebody posts "gocryptfs -speed" results, they are
most helpful together with the CPU model. Add the cpu model
to the output.

Example:

$ ./gocryptfs -speed
gocryptfs v2.2.0-beta1-5-g52b0444-dirty; go-fuse v2.1.1-0.20210825171523-3ab5d95a30ae; 2021-09-14 go1.17.1 linux/amd64
cpu: Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz; with AES acceleration
AES-GCM-256-OpenSSL       	 862.79 MB/s
AES-GCM-256-Go            	 997.71 MB/s	(selected in auto mode)
AES-SIV-512-Go            	 159.58 MB/s
XChaCha20-Poly1305-OpenSSL	 729.65 MB/s
XChaCha20-Poly1305-Go     	 843.97 MB/s	(selected in auto mode)
</content>
</entry>
<entry>
<title>-speed: drop useless tab at end of line</title>
<updated>2021-09-14T08:15:18+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-09-14T08:15:18+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=cdbc48fe297388392d95c0757a6099d01a50347b'/>
<id>urn:sha1:cdbc48fe297388392d95c0757a6099d01a50347b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>cli: drop -forcedecode flag</title>
<updated>2021-09-10T10:14:19+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-09-10T10:14:19+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=d023cd6c95fcbc6b5056ba1f425d2ac3df4abc5a'/>
<id>urn:sha1:d023cd6c95fcbc6b5056ba1f425d2ac3df4abc5a</id>
<content type='text'>
The rewritten openssl backend does not support this flag anymore,
and it was inherently dangerour. Drop it (ignored for compatibility)
</content>
</entry>
<entry>
<title>-speed: show which xchacha implementation is preferred</title>
<updated>2021-09-08T18:46:52+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-09-08T18:46:52+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=ad21647f250697d88eade461c08073732d2cf7e0'/>
<id>urn:sha1:ad21647f250697d88eade461c08073732d2cf7e0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>stupidgcm: add PreferOpenSSL{AES256GCM,Xchacha20poly1305}</title>
<updated>2021-09-08T17:48:13+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-09-08T17:48:13+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=1a5866729387c09eca1cdc9737d1b02c74c25901'/>
<id>urn:sha1:1a5866729387c09eca1cdc9737d1b02c74c25901</id>
<content type='text'>
Add PreferOpenSSLXchacha20poly1305,
rename PreferOpenSSL -&gt; PreferOpenSSLAES256GCM.
</content>
</entry>
<entry>
<title>stupidgcm: normalize constructor naming</title>
<updated>2021-09-07T16:15:04+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-09-07T16:11:11+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=85c2beccaf674c69b3e30b0d646f5c11d91ecb9b'/>
<id>urn:sha1:85c2beccaf674c69b3e30b0d646f5c11d91ecb9b</id>
<content type='text'>
New() -&gt; NewAES256GCM()

Also add missing NewChacha20poly1305
constructor in without_openssl.go.
</content>
</entry>
<entry>
<title>speed: add BenchmarkStupidChacha</title>
<updated>2021-09-07T16:14:05+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-09-04T17:18:42+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=a2eaa5e3d1d9dfd8cf840076c215d253f82abf4b'/>
<id>urn:sha1:a2eaa5e3d1d9dfd8cf840076c215d253f82abf4b</id>
<content type='text'>
gocryptfs/internal/speed$ go test -bench .
goos: linux
goarch: amd64
pkg: github.com/rfjakob/gocryptfs/v2/internal/speed
cpu: Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz
BenchmarkStupidGCM-4              	  249396	      4722 ns/op	 867.50 MB/s
BenchmarkStupidGCMDecrypt-4       	  257872	      4616 ns/op	 887.35 MB/s
BenchmarkGoGCM-4                  	  290952	      4097 ns/op	 999.83 MB/s
BenchmarkGoGCMDecrypt-4           	  294106	      4060 ns/op	1008.84 MB/s
BenchmarkAESSIV-4                 	   46520	     25532 ns/op	 160.42 MB/s
BenchmarkAESSIVDecrypt-4          	   46974	     25478 ns/op	 160.76 MB/s
BenchmarkXchacha-4                	  244108	      4881 ns/op	 839.14 MB/s
BenchmarkXchachaDecrypt-4         	  249658	      4786 ns/op	 855.86 MB/s
BenchmarkStupidXchacha-4          	  205339	      5768 ns/op	 710.11 MB/s
BenchmarkStupidXchachaDecrypt-4   	  204577	      5836 ns/op	 701.84 MB/s
BenchmarkStupidChacha-4           	  227510	      5224 ns/op	 784.06 MB/s
BenchmarkStupidChachaDecrypt-4    	  222787	      5359 ns/op	 764.34 MB/s
PASS
ok  	github.com/rfjakob/gocryptfs/v2/internal/speed	15.328s
</content>
</entry>
<entry>
<title>speed: add decryption benchmarks</title>
<updated>2021-09-07T16:14:05+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-09-03T16:30:42+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=3e27acb989614f82a25d50ab19a0a4419f19aa27'/>
<id>urn:sha1:3e27acb989614f82a25d50ab19a0a4419f19aa27</id>
<content type='text'>
gocryptfs/internal/speed$ go test -bench .
goos: linux
goarch: amd64
pkg: github.com/rfjakob/gocryptfs/v2/internal/speed
cpu: Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz
BenchmarkStupidGCM-4              	  263742	      4523 ns/op	 905.61 MB/s
BenchmarkStupidGCMDecrypt-4       	  204858	      5779 ns/op	 708.76 MB/s
BenchmarkGoGCM-4                  	  291259	      4095 ns/op	1000.25 MB/s
BenchmarkGoGCMDecrypt-4           	  293886	      4061 ns/op	1008.53 MB/s
BenchmarkAESSIV-4                 	   46537	     25538 ns/op	 160.39 MB/s
BenchmarkAESSIVDecrypt-4          	   46770	     25627 ns/op	 159.83 MB/s
BenchmarkXchacha-4                	  243619	      4893 ns/op	 837.03 MB/s
BenchmarkXchachaDecrypt-4         	  248857	      4793 ns/op	 854.51 MB/s
BenchmarkStupidXchacha-4          	  213717	      5558 ns/op	 736.99 MB/s
BenchmarkStupidXchachaDecrypt-4   	  176635	      6782 ns/op	 603.96 MB/s
PASS
ok  	github.com/rfjakob/gocryptfs/v2/internal/speed	12.871s
</content>
</entry>
<entry>
<title>speed: add bEncrypt helper, reuse dst buffer</title>
<updated>2021-09-07T16:14:05+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-09-03T15:40:29+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=5046962634d83a01341585f9f96090add2396e82'/>
<id>urn:sha1:5046962634d83a01341585f9f96090add2396e82</id>
<content type='text'>
The bEncrypt helper massively deduplicates the code,
and reusing the dst buffer gives higher performance,
and that's what gocryptfs does in normal operation via
sync.Pool.

$ benchstat old.txt new.txt
name             old time/op   new time/op    delta
StupidGCM-4       6.24µs ± 1%    4.65µs ± 0%  -25.47%  (p=0.008 n=5+5)
GoGCM-4           4.90µs ± 0%    4.10µs ± 0%  -16.44%  (p=0.008 n=5+5)
AESSIV-4          26.4µs ± 0%    25.6µs ± 0%   -2.90%  (p=0.008 n=5+5)
Xchacha-4         5.76µs ± 0%    4.91µs ± 0%  -14.79%  (p=0.008 n=5+5)
StupidXchacha-4   7.24µs ± 1%    5.48µs ± 0%  -24.33%  (p=0.008 n=5+5)

name             old speed     new speed      delta
StupidGCM-4      656MB/s ± 1%   880MB/s ± 0%  +34.15%  (p=0.008 n=5+5)
GoGCM-4          835MB/s ± 0%  1000MB/s ± 0%  +19.68%  (p=0.008 n=5+5)
AESSIV-4         155MB/s ± 0%   160MB/s ± 0%   +2.99%  (p=0.008 n=5+5)
Xchacha-4        711MB/s ± 0%   834MB/s ± 0%  +17.35%  (p=0.008 n=5+5)
StupidXchacha-4  565MB/s ± 1%   747MB/s ± 0%  +32.15%  (p=0.008 n=5+5)
</content>
</entry>
<entry>
<title>-speed: add XChaCha20-Poly1305-OpenSSL</title>
<updated>2021-09-07T16:14:05+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-09-02T09:33:06+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=9e1dd73e55e095b8e8b4264897c4d21fcdcdb2ae'/>
<id>urn:sha1:9e1dd73e55e095b8e8b4264897c4d21fcdcdb2ae</id>
<content type='text'>
$ ./gocryptfs -speed
gocryptfs v2.1-56-gdb1466f-dirty.stupidchacha; go-fuse v2.1.1-0.20210825171523-3ab5d95a30ae; 2021-09-02 go1.17 linux/amd64
AES-GCM-256-OpenSSL       	 529.53 MB/s
AES-GCM-256-Go            	 833.85 MB/s	(selected in auto mode)
AES-SIV-512-Go            	 155.27 MB/s
XChaCha20-Poly1305-Go     	 715.33 MB/s	(use via -xchacha flag)
XChaCha20-Poly1305-OpenSSL	 468.94 MB/s

https://github.com/rfjakob/gocryptfs/issues/452
</content>
</entry>
</feed>
