benchmarking body checksums

Vernon Schryver vjs@calcite.rhyolite.com
Mon Feb 17 16:30:03 UTC 2003


> From: Leandro Santi <lesanti@uolsinectis.com.ar>

> ...
> 0) "standard" dccproc (ie built using CC=gcc)
> 1) CC=gcc, CFLAGS=-O
> 2) CC=gcc, CFLAGS=-O2
> 3) CC=icc
> 4) CC=icc CFLAGS=-march=pentiumii (ie using hardware vectorization)
> 5) CC=icc, built using ICC's profile-guided optimization capability

> ...
> In order to minimize startup time influence and to actually measure
> body checksumming speed, every one of the 95 messages is 200k or bigger.
>
> 0) scored ~2.3 MB/s on average
> 1) ran on 65% of 0's time on average, at ~3.6 MB/s
> 2) 69%, at ~3.3 MB/s
> 3) 53%, at ~4.3 MB/s
> 4) 54%, at ~4.3 MB/s
> 5) 50%, at ~4.6 MB/s (twice as fast! :-)

All of the numbers seem to be based on blocks of text that are at
least 275 KBytes.  How does that size compare with size of the typical
mail message?  If most mail messages are 1%-10% of that size, then the
start-up costs of the checksumming are more important than the bulk costs.

2.3 MByte/sec is significantly faster than most installations receive
mail, which suggests that it is fast enough.  How fast are SpamAssassin
and other mechanisms?

On the other hand, faster is better.  Should I whack on the configure
script to set CFLAGS=-O2 when it is not otherwise set and gcc is in use?


> WRT the intel compiler. Compiling the DCC with icc is not supported,
> I think (I only checked the MD5 outputs of each message and compared
> them against the standard dccproc, and it worked just fine). It needs
> some work in order to fix many warnings and of course to check that
> everything else is working as expected.

How much does the Intel compiler cost?  What sort of warnings are produced?

> ...
> ps: Separately, Its interesting to see that 1.1.27 is sometimes faster,
> sometimes slower than 1.1.11:
> ...

What varied those trials?  Was it different input text or measurement
noise from cache effects?

md5_update() is now called less frequently for the Fuz1 checksum, and that
should help.
The Fuz2 checksum's new checking for HTML tags should help if there are
lots of them and hurt if not.


Vernon Schryver    vjs@rhyolite.com



More information about the DCC mailing list

Contact vjs@rhyolite.com by mail or use the form.