aboutsummaryrefslogtreecommitdiffstats
path: root/dirmngr/t-http-basic.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
commit2b5718c1f76851160115f455c3a9383b04521347 (patch)
tree47e8b954074c735aa5a690f4c705c97fba5c3c2e /dirmngr/t-http-basic.c
parentg10/armor: remove unused unarmor_pump code (diff)
downloadgnupg-2b5718c1f76851160115f455c3a9383b04521347.tar.gz
gnupg-2b5718c1f76851160115f455c3a9383b04521347.zip
common/iobuf: optimize iobuf_read_line
* common/iobuf.c (iobuf_read_line): Add fast path for finding '\n' character in buffer. -- This patch reduce per byte overhead in iobuf_read_line by avoiding using iobuf_get when possible and use memchr to find '\n'. This speeds armored 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 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+iobuf opt) ------------------------- gpg process armor: user time pipe transfer rate decrypt-aead: 22.5 92 MB/s decrypt-cfb: 24.4 85 MB/s Signed-off-by: Jussi Kivilinna <[email protected]>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions