<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gocryptfs/internal/cryptocore/randprefetch_test.go, 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>2017-08-16T16:33:00+00:00</updated>
<entry>
<title>cryptocore: add urandom + randprefetch benchmarks</title>
<updated>2017-08-16T16:33:00+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2017-08-16T16:33:00+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=312ea32bb70abb93be315d0b7c442d5c4ae571d9'/>
<id>urn:sha1:312ea32bb70abb93be315d0b7c442d5c4ae571d9</id>
<content type='text'>
The benchmark that supported the decision for 512-byte
prefetching previously lived outside the repo.

Let's add it where it belongs so it cannot get lost.
</content>
</entry>
<entry>
<title>cryptocore: prefetch nonces in 512-byte blocks</title>
<updated>2017-06-09T20:05:14+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2017-06-09T19:52:26+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=80516ed3351477793eec882508969b6b29b69b0a'/>
<id>urn:sha1:80516ed3351477793eec882508969b6b29b69b0a</id>
<content type='text'>
On my machine, reading 512-byte blocks from /dev/urandom
(same via getentropy syscall) is a lot faster in terms of
throughput:

Blocksize    Throughput
 16          28.18 MB/s
512          83.75 MB/s

For a single-threaded streaming write, this drops the CPU usage of
nonceGenerator.Get to almost 1/3:

        flat  flat%   sum%        cum   cum%
Before     0     0% 95.08%      0.35s  2.92%  github.com/rfjakob/gocryptfs/internal/cryptocore.(*nonceGenerator).Get
After  0.01s 0.092% 92.34%      0.13s  1.20%  github.com/rfjakob/gocryptfs/internal/cryptocore.(*nonceGenerator).Get

This change makes the nonce reading single-threaded, which may
hurt massively-parallel writes.
</content>
</entry>
</feed>
