Frank Denis
5af89b3dcc
std.crypto.chacha: support larger vectors on AVX2 and AVX512 targets ( #15809 )
...
* std.crypto.chacha: support larger vectors on AVX2 and AVX512 targets
Ryzen 7 7700, ChaCha20/8 stream, long outputs:
Generic: 3268 MiB/s
AVX2 : 6023 MiB/s
AVX512 : 8086 MiB/s
Bump the rand.chacha buffer a tiny bit to take advantage of this.
More than 8 blocks doesn't seem to make any measurable difference.
ChaChaPoly also gets a small performance boost from this, albeit
Poly1305 remains the bottleneck.
Generic: 707 MiB/s
AVX2 : 981 MiB/s
AVX512 : 1202 MiB/s
aarch64 appears to generally benefit from 4-way vectorization.
Verified on Apple Silicon, but also on a Cortex A72.
2023-05-22 20:33:35 +02:00
..
2023-04-30 18:16:04 -07:00
2023-05-16 20:39:01 -07:00
2023-05-22 13:13:57 +03:00
2023-05-07 15:55:21 +10:00
2023-05-22 20:33:35 +02:00
2022-05-09 18:51:46 +02:00
2023-04-30 18:16:04 -07:00
2023-05-08 10:42:24 +00:00
2023-04-30 18:16:04 -07:00
2023-05-20 12:27:48 -07:00
2023-04-30 18:16:04 -07:00
2023-05-06 21:35:17 -05:00
2023-05-19 09:13:49 -07:00
2023-05-13 14:31:53 -04:00
2023-05-11 15:56:42 -07:00
2023-04-28 13:24:43 -07:00
2023-04-12 12:06:19 -04:00
2023-05-08 10:59:06 +03:00
2023-05-22 13:34:39 +03:00
2023-05-22 20:33:35 +02:00
2023-05-08 07:36:20 -04:00
2023-04-28 13:24:43 -07:00
2023-05-20 12:27:48 -07:00
2021-12-16 19:08:58 -08:00
2022-01-01 12:47:08 +00:00
2022-12-13 13:14:20 +02:00
2023-04-30 18:16:04 -07:00
2023-05-08 10:59:06 +03:00
2023-04-28 13:24:43 -07:00
2023-05-07 15:55:21 +10:00
2023-02-18 19:17:21 -07:00
2023-04-21 23:08:48 -04:00
2023-04-28 13:24:43 -07:00
2023-04-28 13:24:43 -07:00
2023-05-07 15:55:21 +10:00
2023-04-22 13:09:15 +03:00
2023-04-28 13:24:43 -07:00
2023-05-18 00:27:21 -07:00
2023-05-11 20:31:52 +02:00
2023-03-15 10:48:13 -07:00
2023-04-30 18:16:04 -07:00
2023-02-18 19:17:21 -07:00
2023-02-22 00:11:20 +11:00
2023-04-22 13:55:30 +03:00
2023-05-22 16:11:06 +02:00
2023-04-28 13:24:43 -07:00
2023-04-28 13:24:43 -07:00
2023-04-20 15:17:07 -07:00
2023-04-28 13:24:43 -07:00
2023-05-07 09:09:19 +02:00
2023-05-10 16:15:41 +03:00
2021-09-01 17:54:06 -07:00
2023-04-28 13:24:43 -07:00
2023-05-15 12:11:11 +03:00
2023-05-17 06:06:41 +03:00
2023-05-08 10:59:06 +03:00
2023-04-21 23:08:48 -04:00
2023-04-30 18:16:04 -07:00
2023-05-06 21:35:15 -05:00
2023-01-11 15:39:48 -08:00
2023-03-25 21:32:55 -04:00
2023-05-13 14:31:53 -04:00
2022-12-27 15:13:14 +02:00
2023-04-30 18:16:04 -07:00
2023-05-03 11:19:37 +03:00
2023-04-30 18:16:04 -07:00
2023-04-23 21:06:21 +03:00
2023-05-16 19:10:44 -04:00
2023-05-20 11:21:06 +03:00
2023-04-28 13:24:43 -07:00
2023-05-07 15:55:21 +10:00
2023-02-18 19:17:21 -07:00
2023-05-22 12:45:18 +03:00
2023-04-30 18:16:04 -07:00
2023-04-30 18:16:04 -07:00
2023-05-08 10:59:06 +03:00
2023-02-18 19:17:21 -07:00
2023-04-28 13:24:43 -07:00
2023-04-28 13:24:43 -07:00
2023-04-23 21:06:21 +03:00
2023-04-23 21:06:21 +03:00
2023-04-28 13:24:43 -07:00
2022-12-09 21:57:17 +01:00
2023-05-13 13:35:50 +03:00
2023-05-17 18:26:49 -07:00
2023-01-29 15:04:13 -05:00
2023-05-01 19:22:52 -04:00
2023-03-17 17:50:25 +01:00
2023-04-28 13:24:43 -07:00
2023-05-11 20:31:50 +02:00
2023-05-07 15:55:21 +10:00
2023-04-30 18:16:04 -07:00
2023-04-30 18:16:04 -07:00
2022-04-15 17:01:01 -05:00
2023-04-28 13:24:43 -07:00
2023-05-07 15:55:21 +10:00
2023-05-06 21:35:15 -05:00
2022-11-19 19:32:45 -07:00
2023-03-18 20:13:30 +01:00
2023-03-15 10:48:13 -07:00