From: Sergey Matveev Date: Sat, 26 Aug 2023 08:58:23 +0000 (+0300) Subject: Производительность SHA256 с SHA инструкциями, BLAKE3 с AVX512 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=33c5a6cf0aee60462fefe58fe72c8c2430eedf40;p=stargrave-blog.git Производительность SHA256 с SHA инструкциями, BLAKE3 с AVX512 В новом Xeon (9412c8cdb0c01875e9bfca8d3efde9695e4d9211) появились SHA инструкции, но только которые SHA1 и SHA256 поддерживают. Проверяю скорость: pv < /dev/zero | cmd NUC, cmd=sha256: 152 MiB/sec Xeon, cmd=sha256: 226 MiB/sec NUC, cmd=openssl sha256: 276 MiB/sec Xeon, cmd=openssl sha256: 933 MiB/sec b3sum (который на Си, github.com/BLAKE3-team/BLAKE3) поддерживает AVX512: NUC: 1.68 GiB/sec Xeon: 3.43 GiB/sec но это всё только одно ядро грузит. Go-шная реализация (lukechampine.com/blake3) выдаёт такие же скорости. Ради интереса остальные хэши на Xeon, никаких открытий: b2sum: 506 MiB/s openssl sha512: 493 MiB/sec skein512: 463 MiB/sec b2sum -a blake2s: 412 MiB/sec skein256: 367 MiB/sec goshake128: 348 MiB/sec sha512: 345 MiB/sec goshake128: 284 MiB/sec nettle-hash --algorithm=streebog*: ~82 MiB/sec То бишь, SHA256 самый медленный (ну не считая Стрибога, в котором никто не заморачивается оптимизациями (они есть в проприетарных решениях или железе)), но с SHA-инструкциями самый быстрый, кроме BLAKE3. ---