<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gocryptfs/internal/stupidgcm/chacha.c, branch xattr_user_buffer</title>
<subtitle>Mirror of gocryptfs source code on Github</subtitle>
<id>http://nuetzlich.net/cgit/gocryptfs/atom?h=xattr_user_buffer</id>
<link rel='self' href='http://nuetzlich.net/cgit/gocryptfs/atom?h=xattr_user_buffer'/>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/'/>
<updated>2021-09-07T16:14:05+00:00</updated>
<entry>
<title>stupidgcm: introduce stupidAEADCommon and use for both chacha &amp; gcm</title>
<updated>2021-09-07T16:14:05+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-09-04T09:41:56+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=e2ec048a09889b2bf71e8bbfef9f0584ff7d69db'/>
<id>urn:sha1:e2ec048a09889b2bf71e8bbfef9f0584ff7d69db</id>
<content type='text'>
Nice deduplication and brings the GCM decrypt speed up to par.

internal/speed$ benchstat old new
name                old time/op   new time/op   delta
StupidGCM-4          4.71µs ± 0%   4.66µs ± 0%   -0.99%  (p=0.008 n=5+5)
StupidGCMDecrypt-4   5.77µs ± 1%   4.51µs ± 0%  -21.80%  (p=0.008 n=5+5)

name                old speed     new speed     delta
StupidGCM-4         870MB/s ± 0%  879MB/s ± 0%   +1.01%  (p=0.008 n=5+5)
StupidGCMDecrypt-4  710MB/s ± 1%  908MB/s ± 0%  +27.87%  (p=0.008 n=5+5)
</content>
</entry>
<entry>
<title>stupidgcm: stupidChacha20poly1305.Open: batch C calls in aead_open</title>
<updated>2021-09-07T16:14:05+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-09-03T16:44:41+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=bf572aef88963732849b8e5ae679e63c6be4aa46'/>
<id>urn:sha1:bf572aef88963732849b8e5ae679e63c6be4aa46</id>
<content type='text'>
Gets the decryption speed to the same level as the
encryption speed.

internal/speed$ benchstat old.txt new.txt
name                    old time/op    new time/op    delta
StupidXchacha-4          732MB/s ± 0%   740MB/s ± 0%   ~     (p=1.000 n=1+1)
StupidXchachaDecrypt-4   602MB/s ± 0%   741MB/s ± 0%   ~     (p=1.000 n=1+1)
</content>
</entry>
<entry>
<title>stupidgcm: replace chacha20poly1305_seal with generic aead_seal</title>
<updated>2021-09-07T16:14:05+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-09-03T15:11:57+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=69d626b26f5a3f55c752b59af44710b992e2ab76'/>
<id>urn:sha1:69d626b26f5a3f55c752b59af44710b992e2ab76</id>
<content type='text'>
</content>
</entry>
<entry>
<title>stupidgcm: batch C calls in chacha20poly1305_seal</title>
<updated>2021-09-07T16:14:05+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-09-03T14:44:13+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=a3f5a8492a8bc62d8e2a639bd449b425efa66ce2'/>
<id>urn:sha1:a3f5a8492a8bc62d8e2a639bd449b425efa66ce2</id>
<content type='text'>
Go has a high overhead for each C call, so batch
all openssl operations in the new C function chacha20poly1305_seal.

Benchmark results:

internal/speed$ go test -bench BenchmarkStupidXchacha -count 10 &gt; old.txt
internal/speed$ go test -bench BenchmarkStupidXchacha -count 10 &gt; new.txt

internal/speed$ benchstat old.txt new.txt
name             old time/op   new time/op   delta
StupidXchacha-4   8.79µs ± 1%   7.25µs ± 1%  -17.54%  (p=0.000 n=10+10)

name             old speed     new speed     delta
StupidXchacha-4  466MB/s ± 1%  565MB/s ± 1%  +21.27%  (p=0.000 n=10+10)
</content>
</entry>
</feed>
