aboutsummaryrefslogtreecommitdiffstats
path: root/g10/armor.c
diff options
context:
space:
mode:
authorJussi Kivilinna <[email protected]>2018-11-08 19:31:12 +0000
committerJussi Kivilinna <[email protected]>2018-11-08 19:31:12 +0000
commit5d6c080522e1666943b75c99124fb69b985b6941 (patch)
treedb31fcbe7c5b783e6fc30c3851aa27e50056efce /g10/armor.c
parentg10/decrypt-data: use fill_buffer in more places (diff)
downloadgnupg-5d6c080522e1666943b75c99124fb69b985b6941.tar.gz
gnupg-5d6c080522e1666943b75c99124fb69b985b6941.zip
g10/decrypt-data: use iobuf_read for higher performance
* g10/decrypt-data.c (fill_buffer): Use iobuf_read instead of iobuf_get for reading data. -- This patch reduces iobuf_read per byte processing overhead and speeds up decryption. Benchmark results below, tested on Intel Core i7-4790K (turbo off). Encrypted 2 GiB through pipe to ramfs file using AES128. Decrypt ramfs file out through pipe to /dev/null. before patch-set ---------------- gpg process no-armor: user time pipe transfer rate encrypt-aead: 1.02 1.0 GB/s decrypt-aead: 10.8 185 MB/s encrypt-cfb: 4.8 342 MB/s decrypt-cfb: 12.7 157 MB/s gpg process armor: user time pipe transfer rate encrypt-aead: 13.8 140 MB/s decrypt-aead: 30.6 68 MB/s encrypt-cfb: 17.4 114 MB/s decrypt-cfb: 32.6 64 MB/s after (decrypt opt) ------------------- gpg process no-armor: user time pipe transfer rate decrypt-aead: 7.3 263 MB/s decrypt-cfb: 9.3 211 MB/s gpg process armor: user time pipe transfer rate decrypt-aead: 27.0 77 MB/s decrypt-cfb: 29.0 72 MB/s Note: decryption results are much slower than encryption because of extra SHA1 & RIPEMD160 hashing. GnuPG-bug-id: 3786 Signed-off-by: Jussi Kivilinna <[email protected]>
Diffstat (limited to 'g10/armor.c')
0 files changed, 0 insertions, 0 deletions