]> Sergey Matveev's repositories - stargrave-blog.git/commit
Прооптимизировал Стрибог в GoGOST
authorSergey Matveev <stargrave@stargrave.org>
Tue, 16 Jul 2024 15:54:03 +0000 (18:54 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Tue, 16 Jul 2024 15:54:03 +0000 (18:54 +0300)
commit8ddad23f481c8d62544034800f0b69b8aa9106ee
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904
parent2d6553311d6146a93baa3eeb4ba6cda86aa52b0e
Прооптимизировал Стрибог в GoGOST

В новой (5.15.0) версии GoGOST более чем в три раза Стрибог стал
производительнее. Раскрытие одного цикла, убирающего поиск по таблице,
повысило почти на треть скорость. Ещё на треть увеличило скорость
использование предвычисленных таблиц для LPS преобразования. Кроме того,
без дополнительных аллокаций в куче, избавился от множества буферов в
состоянии хэша.

Оказалось, что оно сравнялось по скорости с Nettle реализацией -- самой
быстрой из свободных мне известных. Знаю что можно, как минимум, ещё в
два раза повысить её, за счёт SIMD-а, но этого в планах нет.