Jussi Kivilinna
99e2c178c7
g10/cipher-aead: add fast path for avoid memcpy when AEAD encrypting
...
* g10/cipher-aead.c (do_hash): Add faster path for encrypting directly
from input buffer instead of memcpying then encrypting inplace.
--
When encrypting with AES256.OCB on AMD Ryzen 5800X, memcpy shows as
taking largest portion of computation time. Patch adds fast path for
AEAD encryption which largely eliminates need for memcpying when
doing AEAD encryption. AES256.OCB throughput increases from 2.2GB/s
to 4.2GB/s on said system (1.9x faster).
GnuPG-bug-id: T5828
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
2022-03-08 20:00:31 +02:00
..
2017-05-11 18:12:37 +02:00
2022-01-28 12:09:34 +01:00
2020-06-09 10:32:47 +09:00
2022-01-18 08:03:27 +01:00
2022-01-18 08:03:27 +01:00
2021-06-16 12:03:13 +02:00
2021-04-16 20:21:23 +02:00
2021-04-21 14:40:08 +02:00
2022-01-18 08:03:27 +01:00
2016-11-02 12:53:58 +01:00
2022-03-08 20:00:31 +02: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
2021-05-20 13:38:39 +02:00
2022-03-02 21:12:28 +02:00
2022-03-08 20:00:31 +02:00
2019-05-17 13:40:24 +02:00
2019-07-18 11:02:34 +09:00
2020-11-11 09:13:13 +09:00
2021-11-13 21:03:02 +01:00
2021-11-12 15:39:30 +09:00
2022-03-02 21:12:28 +02:00
2021-03-08 21:53:28 +01:00
2019-07-25 11:21:58 +09:00
2019-09-30 14:08:13 +02:00
2021-12-20 19:34:34 +01:00
2022-01-28 12:09:34 +01:00
2021-09-28 14:49:21 +09:00
2021-09-29 11:30:00 +09:00
2015-02-04 09:15:34 +01:00
2022-02-01 15:13:13 +01:00
2021-05-19 02:42:35 +02:00
2015-02-04 09:15:34 +01:00
2017-03-07 20:25:54 +09:00
2016-11-05 12:02:19 +01:00
2021-05-17 19:48:15 +02:00
2017-03-07 20:25:54 +09:00
2021-09-14 13:00:40 +02:00
2019-03-15 20:41:38 +01:00
2020-11-02 11:32:27 +09:00
2017-07-27 11:38:57 +02:00
2020-10-27 17:21:19 +01:00
2018-10-25 16:53:05 -04:00
2020-09-22 16:20:41 +02:00
2020-11-11 15:23:22 +01:00
2021-12-20 19:34:34 +01:00
2021-05-20 14:42:29 +02:00
2020-10-28 17:06:27 +01:00
2022-01-12 13:34:31 +09:00
2021-11-24 10:43:38 +09:00
2021-10-22 15:42:09 +02:00
2021-06-03 13:32:25 +09:00
2017-03-31 20:07:20 +02:00
2021-06-16 12:03:13 +02:00
2021-06-25 09:55:52 +02:00
2021-12-20 19:34:34 +01:00
2022-02-25 11:55:07 +09:00
2021-02-02 13:06:33 +01:00
2017-03-07 20:25:54 +09:00
2020-10-20 12:15:56 +02:00
2021-02-10 14:40:02 +01:00
2020-02-18 18:07:46 -05:00
2019-07-11 12:32:44 +09:00
2021-05-25 13:39:59 +02:00
2021-11-18 20:49:37 +01:00
2021-02-02 19:53:21 +01:00
2021-02-02 19:53:21 +01:00
2021-12-20 19:34:34 +01:00
2021-03-01 09:43:26 +01:00
2019-07-23 12:04:21 +09:00
2021-02-10 14:40:02 +01:00
2021-12-10 15:43:28 +09:00
2021-12-10 15:43:28 +09:00
2022-03-08 20:00:31 +02:00
2017-03-07 20:25:54 +09:00
2021-03-24 14:51:42 +09:00
2017-01-23 19:16:55 +01:00
2021-05-20 13:38:39 +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
2020-06-09 10:32:47 +09:00
2021-10-13 17:25:28 +02:00
2022-03-08 20:00:31 +02:00
2021-04-23 08:50:39 +02:00
2019-09-09 15:01:47 +02:00
2015-11-17 14:53:03 +01:00
2015-09-02 15:08:57 +02:00
2019-09-09 15:01:47 +02: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
2021-11-13 20:34:06 +01:00
2021-11-13 20:34:06 +01:00
2021-11-13 20:34:06 +01:00
2021-11-24 10:50:48 +09:00
2020-02-10 16:50:47 +01:00
2020-09-04 11:32:47 +02:00
2021-05-20 13:38:39 +02:00
2016-12-06 12:16:56 +01:00
2022-01-12 13:34:31 +09:00
2022-01-12 13:34:31 +09:00
2022-01-12 13:34:31 +09:00
2020-02-10 15:32:55 +01:00
2016-11-05 12:02:19 +01:00