Revision 53cd0d70e97be3d443b9e99d3c67d44dbae7e4c8 authored by Rene Brun on 06 March 2007, 08:47:32 UTC, committed by Rene Brun on 06 March 2007, 08:47:32 UTC

git-svn-id: http://root.cern.ch/svn/root/trunk@18165 27541ba8-7e3a-0410-8455-c3a389f83636
1 parent 983b5cc
Raw File
README
The compression package "zlib" is part of the zip directory. The original tar 
file can be downloaded from : http://www.zlib.org 

Only the useful code has been extracted from this tar file. It consists of: 

 zip/inc:
   crc32.h deflate.h inffast.h inffixed.h inflate.h
   inftrees.h trees.h zconf.h zlib.h zutil.h

 zip/src:
   adler32.c compress.c crc32.c deflate.c gzio.c infback.c
   inffast.c inflate.c inftrees.c trees.c uncompr.c zutil.c

To put a new zlib version in ROOT, all these files must be replaced.

The zlib version number can be found in zip/inc/zlib.h.
The current zlib is 1.2.1.

zlib is now used in TPDF to compress the "stream" part of PDF files.

The ROOT compress functions R__zip and R__unzip have also been modified
in order to use zlib. Some performance tests show very different results
depending on the machine configuration and compiler.
see two results below (the right column indicates the percentage
of gain (or loss) when using the new zlib.
The new zlib seems to slower when writing and faster when reading.

On Linux RH7.3 gcc3.2.3 Pentium IV 2.4 GHz
==========================================
                          oldzlib            zlib 1.2.1   gain(+)/loss(-)
Event 1000 1 0   1         11.59s             11.46s         + 1.12
Event 1000 1 0  20          3.83s              3.31s         +13.57
Event 1000 1 99  1         10.44s             10.98s         - 5.17
Event 1000 1 99 20          3.57s              3.17s         +11.20
stress -b 30               13.01s             12.35s         + 5.07
stress -b 1000             61.67s             58.38s         + 5.33
bench                     151.99s            151.56s         + 0.28
stressLinear               35.87s             35.77s         + 0.28

On windows VC++7.1 IBM R40 Pentium M 1.5Ghz
===========================================
                          oldzlib            zlib 1.2.1   gain(+)/loss(-)
Event 1000 1 0   1          7.53s              8.67s         -15.14
Event 1000 1 0  20          2.43s              2.30s         + 5.35
Event 1000 1 99  1          6.67s              8.76s         -31.33
Event 1000 1 99 20          2.35s              2.22s         + 5.55
stress -b 30                9.23s              9.52s         - 3.14
stress -b 1000             42.13s             47.91s         -13.72
bench                     112.53s            118.89s         - 5.65
stressLinear               37.44s             37.08s         + 0.96

To activate the new zlib it is enough to set Root.ZipMode = 1
in the system.rootrc file.
When setting Root.ZipMode to 1 (or 0) it is possible to read files
written with the old zip function.
Files written with Root.ZipMode=1 can only be read by versions
of Root >= 4.02/00

back to top