Jussi Kivilinna
e8142cc69a
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 <jussi.kivilinna@iki.fi>
2018-11-08 21:31:12 +02:00
..
2017-05-11 18:12:37 +02:00
2018-11-08 21:31:12 +02:00
2018-10-24 16:18:27 +02:00
2018-10-25 16:20:20 +09:00
2018-10-25 16:20:20 +09:00
2018-10-24 15:56:18 -04:00
2017-07-24 20:09:52 +02:00
2018-11-06 15:37:04 +09:00
2016-11-02 12:53:58 +01:00
2018-11-08 12:14:23 +09:00
2018-05-29 12:42:52 +02:00
2017-04-11 13:52:19 +09:00
2018-05-02 20:15:10 +02:00
2018-10-24 15:56:18 -04:00
2017-08-01 19:08:16 +02:00
2018-11-08 21:31:12 +02:00
2017-03-07 20:25:54 +09:00
2018-01-21 16:30:53 +01:00
2017-03-31 20:07:20 +02:00
2017-11-22 20:54:47 +01:00
2017-11-27 15:00:25 +01:00
2018-10-24 15:56:18 -04:00
2017-03-07 20:25:54 +09:00
2016-11-05 12:02:19 +01:00
2018-10-24 15:56:18 -04:00
2018-11-08 21:31:12 +02:00
2017-07-21 17:49:10 +02:00
2018-10-24 15:56:18 -04:00
2015-02-04 09:15:34 +01:00
2018-10-24 15:56:18 -04:00
2018-03-27 08:48:00 +02:00
2015-02-04 09:15:34 +01:00
2018-11-08 20:52:38 +09:00
2017-03-07 20:25:54 +09:00
2016-11-05 12:02:19 +01:00
2018-08-27 13:12:31 +09:00
2017-03-07 20:25:54 +09:00
2018-10-25 16:53:05 -04:00
2018-01-10 11:51:03 +01:00
2018-06-07 18:41:17 +02:00
2017-07-27 11:38:57 +02:00
2018-10-24 15:56:18 -04:00
2018-10-25 16:53:05 -04:00
2018-02-22 14:23:01 +01:00
2018-08-29 11:53:59 +02:00
2018-07-06 11:40:16 +02:00
2017-07-27 11:38:57 +02:00
2018-10-24 15:56:18 -04:00
2017-12-18 16:42:59 +01:00
2018-08-28 15:16:19 +02:00
2018-02-22 14:23:01 +01:00
2017-03-31 20:07:20 +02:00
2017-07-13 18:29:01 +02:00
2017-07-24 21:10:58 +02:00
2018-06-21 20:28:51 +02:00
2018-10-24 15:56:18 -04:00
2018-07-06 11:40:16 +02:00
2017-03-07 20:25:54 +09:00
2017-03-07 20:25:54 +09:00
2018-10-24 15:56:18 -04:00
2018-01-28 18:59:18 +01:00
2018-10-02 11:03:27 +02:00
2018-10-25 16:53:05 -04:00
2018-10-24 15:56:18 -04:00
2018-04-12 17:53:17 +02:00
2017-03-07 20:25:54 +09:00
2016-11-05 12:02:19 +01:00
2018-08-28 15:16:19 +02:00
2017-03-07 20:25:54 +09:00
2016-11-05 12:02:19 +01:00
2017-03-07 20:25:54 +09:00
2017-03-07 20:25:54 +09:00
2018-10-08 15:38:37 +02:00
2017-01-23 19:16:55 +01:00
2018-05-29 13:01:12 +02:00
2017-02-21 13:11:46 -05:00
2016-11-05 12:02:19 +01:00
2017-03-07 20:32:09 +09:00
2017-03-07 20:25:54 +09:00
2018-10-24 15:56:18 -04:00
2018-10-24 16:18:27 +02:00
2018-10-24 15:56:18 -04:00
2018-09-14 08:11:45 +09:00
2017-03-30 16:01:52 +02:00
2015-11-17 14:53:03 +01:00
2015-09-02 15:08:57 +02:00
2016-11-05 12:02:19 +01:00
2016-11-05 12:02:19 +01:00
2016-03-08 14:08:49 +01:00
2017-05-10 11:13:03 +09:00
2018-03-27 08:48:00 +02:00
2018-10-24 15:56:18 -04:00
2018-03-26 18:06:43 +02:00
2018-08-27 13:12:31 +09:00
2017-04-24 14:14:05 +02:00
2017-03-07 20:25:54 +09:00
2017-12-18 16:42:59 +01:00
2016-12-06 12:16:56 +01:00
2018-07-06 11:40:16 +02:00
2018-10-24 15:56:18 -04:00
2018-07-06 11:40:16 +02:00
2018-10-24 15:56:18 -04:00
2016-11-05 12:02:19 +01:00