Hi, Subversion is using the APR/APR-util checksum implementations (SHA1 and MD5). One of our committers in Subversion made some tests switching out these for the ones in OpenSSL instead. OpenSSL is (opt-out) using an ASM optimized implementation on many platforms.
Copy-pasting from the commit message[1] to include some raw numbers: [[[ - The benchmarking test was showing 0.16 GB/s raw speed with APR backend and 1.38 seconds GB/s with OpenSSL. All of those are SHA1. This is 8.62 times jump! - Status of a working copy with a single file (with size of 370 MB) simply touched was taking 1.94 seconds of real time to execute with APR backend and 0.30 seconds with OpenSSL (6.46 times improvement). - The same test with a file of around 3 GB had a jump from 15.73 seconds to 2.23 seconds (7.05 times improvement). - Checkout of the whole repository with those two files over file:// protocol took 40 seconds with APR and 20 seconds with OpenSSL (2 times improvement). ]]] The first benchmark is the raw speed, the others include other overhead in Subversion and IO. In the discussion after the initial commit it was suggested to instead have this implementation in APR instead - making life a bit simpler for the Subversion project and possibly giving other projects the same benefit. What is the opinion of the dev@ list about this? Would it be good to have or is it out of scope for APR/APR-util? Cheers, Daniel [1] https://lists.apache.org/thread/o38r06vg08pyzzy35bfgg8ooovphsxss
