diff options
author | Jussi Kivilinna <[email protected]> | 2018-11-08 19:31:12 +0000 |
---|---|---|
committer | Jussi Kivilinna <[email protected]> | 2018-11-08 19:31:12 +0000 |
commit | e8142cc69a2ae5a5d0a238bc9f88841067359af8 (patch) | |
tree | 4b47d4aa31bb93b2bfcafcae5c1157b43cee167b /dirmngr/t-http-basic.c | |
parent | g10/armor: use libgcrypt's CRC24 implementation (diff) | |
download | gnupg-e8142cc69a2ae5a5d0a238bc9f88841067359af8.tar.gz gnupg-e8142cc69a2ae5a5d0a238bc9f88841067359af8.zip |
g10/armor: optimize binary to radix64 conversion
* g10/armor.c (bintoasc): Change to read-only.
(initialize): Use const pointer for 'bintoasc'.
(armor_output_buf_as_radix64): New function for faster binary to
radix64 conversion.
(armor_filter): Use new conversion function.
--
This patch adds faster binary to radix64 conversion to speed up
armored encryption.
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+radix64 opt)
-------------------------------------
gpg process
armor: user time pipe transfer rate
encrypt-aead: 2.7 523 MB/s
encrypt-cfb: 6.7 264 MB/s
Signed-off-by: Jussi Kivilinna <[email protected]>
Diffstat (limited to 'dirmngr/t-http-basic.c')
0 files changed, 0 insertions, 0 deletions