Skip to content

Conversation

@mmozeiko
Copy link
Collaborator

Update my hash headers to latest code. Now it supports 64-bit arm crypto instructions. 64-bit arm intrinsics are used on windows (msvc & clang), linux (gcc & clang) and macos (clang).

You can see tests running on all kinds of platforms here: https://github.com/mmozeiko/overflow/actions/runs/18640103973

Actual code is available here: https://github.com/mmozeiko/overflow/tree/main/crypto

@mmozeiko
Copy link
Collaborator Author

Benchmark on actual hardware, compiled with clang 21.1.3.

Linux on Raspberry Pi 5:

md5                       ...  256 KiB ->  489.55 MiB/s =  4.67 cpb
sha1                      ...  256 KiB ->  441.54 MiB/s =  5.18 cpb
sha1(arm64)               ...  256 KiB -> 1392.03 MiB/s =  1.64 cpb
sha256                    ...  256 KiB ->  228.81 MiB/s = 10.00 cpb
sha256(arm64)             ...  256 KiB -> 1124.34 MiB/s =  2.04 cpb
sha512                    ...  256 KiB ->  337.36 MiB/s =  6.78 cpb
sha512(arm64)             ... N/A

Windows on Snapdragon X Elite:

md5                       ...  256 KiB ->  788.61 MiB/s =  4.59 cpb
sha1                      ...  256 KiB -> 1152.54 MiB/s =  3.14 cpb
sha1(arm64)               ...  256 KiB -> 2476.77 MiB/s =  1.46 cpb
sha256                    ...  256 KiB ->  435.38 MiB/s =  8.32 cpb
sha256(arm64)             ...  256 KiB -> 2605.42 MiB/s =  1.39 cpb
sha512                    ...  256 KiB ->  678.89 MiB/s =  5.34 cpb
sha512(arm64)             ...  256 KiB -> 1642.07 MiB/s =  2.21 cpb

@ryanfleury ryanfleury merged commit 6589cbe into EpicGamesExt:master Oct 20, 2025
13 checks passed
@mmozeiko mmozeiko deleted the update_thirdparty_hashes branch October 20, 2025 23:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants