Linus Torvalds wrote:
where the thing is loosely based on the Mozilla SHA1 routines but by the
end doesn't really resemble them all that much. The Mozilla ones suck
donkey d*ck in so many ways - unnecessary copies, idiotic byte-at-a-time
build-up of the hash input etc.
The end result is pretty much equivalent in performance to the OpenSSL
SHA1 code for me on x86-64. Getting rid of OpenSSL gets rid of another
For those curious just how close the C version is to the various
asm and C implementations, the q&d microbenchmark is at
http://www.src.multimo.pl/YDpqIo7Li27O0L0h/sha1bench.tar.gz
In short: 88% of openssl speed on P3, 42% on P4, 66% on Atom.
artur