libgocryptfs/internal
Jakob Unterwurzacher 80516ed335 cryptocore: prefetch nonces in 512-byte blocks
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.
2017-06-09 22:05:14 +02:00
..
configfile exitcodes: specific codes for failure to read or write gocryptfs.conf 2017-05-14 14:30:50 +02:00
contentenc contentenc: move EncryptBlocks() loop into its own functions 2017-06-07 22:09:15 +02:00
cryptocore cryptocore: prefetch nonces in 512-byte blocks 2017-06-09 22:05:14 +02:00
ctlsock Fix typos found by Misspell 2017-05-07 12:22:15 +02:00
exitcodes Add "-trace" flag (record execution trace) 2017-06-07 22:09:06 +02:00
fusefrontend Fix missing Owner coercion for already-open files (#117) 2017-06-09 22:04:56 +02:00
fusefrontend_reverse Implement force_owner option to display ownership as a specific user. 2017-06-01 00:26:17 +02:00
nametransform nametransform: reject all-zero dirIV 2017-05-25 14:21:55 +02:00
openfiletable openfiletable: rename WriteLock to ContentLock 2017-05-01 21:57:18 +02:00
pathiv pathiv: fix test failure on Go 1.6 2017-05-31 08:21:36 +02:00
prefer_openssl prefer_openssl: default to Go GCM on OSX 2016-12-10 21:04:17 +01:00
readpassword exitcodes: add code 22 for "password is empty" 2017-05-14 14:02:08 +02:00
serialize_reads fix golint complaints 2017-04-29 14:50:58 +02:00
siv_aead fix golint complaints 2017-04-29 14:50:58 +02:00
speed fix golint complaints 2017-04-29 14:50:58 +02:00
stupidgcm exitcodes: pull all exit code definitions into the package 2017-05-07 22:16:22 +02:00
syscallcompat syscallcompat: OSX compat: fix variable warnings 2017-02-16 19:23:17 +01:00
tlog Drop Go 1.4 compatability code everywhere 2017-03-05 17:44:14 +01:00