diff options
| author | Frank Denis <124872+jedisct1@users.noreply.github.com> | 2023-05-22 20:33:35 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-05-22 20:33:35 +0200 |
| commit | 5af89b3dccf7ee375f68e9cd3ee4980fef89e38f (patch) | |
| tree | 5262e6f92921170a2df1309f97d15669a7ffc614 /lib/std/multi_array_list.zig | |
| parent | eef92753c7cf677191adc40a7cdf7561ceb43bdb (diff) | |
| download | zig-5af89b3dccf7ee375f68e9cd3ee4980fef89e38f.tar.gz zig-5af89b3dccf7ee375f68e9cd3ee4980fef89e38f.zip | |
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.
Diffstat (limited to 'lib/std/multi_array_list.zig')
0 files changed, 0 insertions, 0 deletions
