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
commite486d4f0259f27906d2c2869cc01b3aa31aaa0a6 (patch)
treee612476cd370c95e9937450ecd7003a3e8589f5d /dirmngr/t-http-basic.c
parentcommon/iobuf: optimize iobuf_read_line (diff)
downloadgnupg-e486d4f0259f27906d2c2869cc01b3aa31aaa0a6.tar.gz
gnupg-e486d4f0259f27906d2c2869cc01b3aa31aaa0a6.zip
g10/armor: use libgcrypt's CRC24 implementation
* g10/armor.c (CRCINIT, CRCPOLY, CRCUPDATE, crc_table): Remove. (new_armor_context): Open libgcrypt CRC24 context. (release_armor_context): Close CRC24 context. (initialize): Remove CRC table generation. (get_afx_crc): New. (check_input, fake_packet, radix64_read, armor_filter): Update to use CRC24 context. * g10/filter.h (armor_filter_context_t): Replace crc intermediate value with libgcrypt md context pointer. -- This patch changes armor filter to use optimized CRC24 implementation from libgcrypt to speed up encryption and 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+crc opt) ----------------------------- gpg process armor: user time pipe transfer rate encrypt-aead: 8.7 211 MB/s decrypt-aead: 17.6 116 MB/s encrypt-cfb: 12.6 153 MB/s decrypt-cfb: 19.6 105 MB/s Signed-off-by: Jussi Kivilinna <[email protected]>
Diffstat (limited to 'dirmngr/t-http-basic.c')
0 files changed, 0 insertions, 0 deletions