Revision 14eb32985e558b53f71e8a5b1eda63e2ddb8c005 authored by Timur Pocheptsov on 27 March 2014, 07:37:42 UTC, committed by Timur Pocheptsov on 27 March 2014, 07:37:42 UTC
1 parent 7cb3454
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 gzguts.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 gzclose.c gzlib.c gzread.c
gzwrite.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
and zconf.h needs to be edited to activate unistd.h when not on Win32.
The zlib version number can be found in zip/inc/zlib.h.
The current zlib is 1.2.3.
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
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...