Skip to content

[ARM] Assembly versions of MD5Transform added to hash package

J. Gareth "Kit" Moreton requested to merge CuriousKit/optimisations:md5-arm into main

Summary

This merge request, building on !486 (merged) and !497 (merged), provides assembly-optimised versions of the MD5 hash functions in the hash package for Arm.

What is the current bug behavior?

N/A

What is the behavior after applying this patch?

On Arm architectures, the provided MD5 algorithm should now be significantly faster than the Pascal fallback.

Relevant logs and/or screenshots

Speed increase on arm-linux:

MD5 of a million "a" symbols

Average time taken = 4.392 ms - Pascal
Average time taken = 3.253 ms - ARM Assembly

Additional Notes

While MD5 is cryptographically broken, it is still widely used as a checksum, so it makes sense to provide a fast implementation.

Edited by J. Gareth "Kit" Moreton

Merge request reports