ripemd160 performance patches
Brought to you by:
aleksey14
Either of these function patches give 1.6x the performance of ripemd160 on my machine. From 291 MB/s to 468 MB/s. All I did was interleave the macro/function calls.
For the second one I made an array to hold the variables, but it is only slightly faster than the first on my machine (Intel i5 64-bit). I don't have too many machines to test performance.
Looks like I can only attach one file now, so I'll put both functions in there.
Here is a test of patch format, these are the same changes.
The second one.
Interesting. I've run
rhash --speed --ripemd160
against different CPUs on hot caches w/ lots of RAM:Intel E5500 @2803 MHz
baseline: 159 MB/s
patch #1: 190 MB/s
patch #2: 191 MB/s
AMD A8-5550M @1900 MHz (downclocked)
baseline: 45.6 MB/s
patch #1: 70.6 MB/s
patch #2: 70.4 MB/s
Intel i5-7200U @3113 MHz
baseline: 314 MB/s
patch #1: 332 MB/s
patch #2: 332 MB/s
After a long long time the first patch has been imported into the master branch:
https://github.com/rhash/RHash/commit/3791df14de5b78eb54d71479f05dc300d902c839
Both the x86-64 and i686 tests on the Intel i7 CPU showed that the first patch is better.
Thank you for the good work!