> From: Tobias Ringstrom [mailto:tobias@ringstrom.mine.nu]
> Sent: Sunday, August 24, 2003 10:21 PM
> Sander Striker wrote:
> > Another thing is the md5 checksums. We might want to think about a
> > little less CPU intensive algorithm, since this one is up there aswell.
> > MD5Transform (which is internal to apr, called by apr_md5_update) is taking
> > ~15% of total checkout time over ra_local. It's at the very top of the
> > flat profile.
>
> This data surprised me, so I did some testing that might be of interest.
> I added code to apr-util to count the number of bytes summed, and for
> your test case, which contains around 290 MiB data, I found that 1181
> MiB was summed (using svn from trunk). I am not familiar with the use of
> checksums in subversion, but it might be possible to reduce the amount
> of summing.
>
> Openssl has a nice speed test for its algorithms, and for MD5 I get the
> following (using "openssl speed md5"):
>
> > The 'numbers' are in 1000s of bytes per second processed.
> > 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
> > 13938.39k 48742.55k 142615.89k 277656.06k 379101.18k
>
> In other words, it sums hundreds of megabytes per second. This openssl
> (from RedHat Linux 9) was compiled with -DMD5_ASM, and I'm running it on
> an Athlon XP 2700+ with Linux 2.6.0-test4.
Ah, good point! apr-util uses a reference implementation. Which means
it's dog slow compared to openssl. We need to teach apr-util to use the
openssl code if it's available.
Sander
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sun Aug 24 23:38:30 2003