[Zlib-devel] Inflate 1.2beta3 available for testing

Chris Anderson christop at fellspt.charm.net
Sat Dec 28 12:40:02 EST 2002



On Fri, 27 Dec 2002, Mark Adler wrote:

> On Thursday, December 26, 2002, at 12:45  PM, Chris Anderson wrote:
> > Along the way I found the performance tests thread and decided to give
> > 1.3beta a try.
>
> Chris,
>
> Thanks for your testing.
>
> > zlib-1.1.4 + infnew-3, linking with my application
> > zbuflen   4096, clock 13.650, time 14.080
> > zbuflen   4096, clock 13.620, time 14.073
> > zbuflen   8192, clock 13.440, time 14.422
> > zbuflen   8192, clock 13.430, time 13.857
> ...
> > zlib-1.1.4, linking with my application
> > zbuflen   4096, clock 13.510, time 14.011
> > zbuflen   4096, clock 13.520, time 14.009
> > zbuflen   8192, clock 13.710, time 14.219
> > zbuflen   8192, clock 13.540, time 14.040
> ...
> > /usr/lib/libz.so.1.1.4 with my application (redhat 8.0 distribution)
> > zbuflen   4096, clock 15.400, time 16.957
> > zbuflen   4096, clock 15.380, time 15.904
> > zbuflen   8192, clock 15.480, time 15.987
> > zbuflen   8192, clock 15.530, time 16.040
>
> So I would conclude from this that with icc on a p3, there is very
> little improvement going from zlib 1.1.4 to infnew-3.  However I would
> also conclude that icc does a noticeably better job than whatever
> compiled libz.so (gcc?).  Is those the correct conclusions?
>
> mark
>

I think the libz.so.1.1.4 difference is mostly due to i386 vs i686
optimization.  Here is gcc-3.2 times for infnew-3:

gcc -O3
zbuflen   4096, clock 17.840, time 18.045
zbuflen   4096, clock 17.840, time 18.054
zbuflen   8192, clock 17.560, time 17.815
zbuflen   8192, clock 17.550, time 17.771
zbuflen  16384, clock 17.270, time 17.688
zbuflen  16384, clock 17.330, time 17.729

gcc -O3 -mcpu=i686
zbuflen   4096, clock 15.290, time 15.459
zbuflen   4096, clock 15.300, time 15.477
zbuflen   8192, clock 14.890, time 15.066
zbuflen   8192, clock 14.890, time 15.062
zbuflen  16384, clock 14.470, time 14.666
zbuflen  16384, clock 14.470, time 14.687

gcc -O3 -mcpu=i686 -fbranch-probabilities (simular to icc -prof_use)
zbuflen   4096, clock 15.190, time 15.374
zbuflen   4096, clock 15.180, time 15.362
zbuflen   8192, clock 14.840, time 15.026
zbuflen   8192, clock 14.840, time 15.007
zbuflen  16384, clock 14.450, time 14.649
zbuflen  16384, clock 14.440, time 14.626

Gcc is catching up to icc when using aggressive optimization, but still
lags a little.  I think msvc is a little closer to icc.

I agree that there isn't a whole lot of improvement on this machine with
this particular test.  It's encouraging to see improvement at the upper
end of the zbuflen scale, since future cpus will probably have more than
256K L2 cache.  At the moment, though, I'm more interested in performance
of uncompressing lots of 2-4K html files with a precomputed dictionary.
My application is a caching search engine which needs to seek and unzip 10
web pages in order to mark up a page of hits in context.  Zlib has been
giving me the best space / performance trade off when compared to bz2 and
lzo.





More information about the Zlib-devel mailing list