Hi Pádraig, I tried to reproduce your results but I wasn't able to do it. The biggest difference on a 300MB file I noticed was approximately 15% using on both implementations -O2, and 5% using -O3. My GCC version is "gcc (Debian 4.3.3-14) 4.3.3" and the CPU is: Intel(R) Pentium(R) D CPU 3.20GHz. I also spent some time trying to improve the gnulib SHA1 implementation and it seems a lookup table can improve things a bit. Can you please try the patch that I have attached and tell me which performance difference (if any) you get? Thanks, Giuseppe