Files
libpng/results.txt
2013-03-08 18:44:26 -06:00

212 lines
5.7 KiB
Plaintext

Corpus contains 1734 PNG files from mozilla hg repo
5491004 total bytes (complete PNG files)
5019516 total bytes (IDAT chunk data)
35154779 total bytes uncompressed IDATs
mogrify -strip *.png
added vpAG, bKGD, and pHYs chunks. (was old mogrify)
scooby> time q16mogrify -strip *.png
real 0m13.500s user 0m13.057s sys 0m0.424s
5061691 total bytes (complete PNG files)
Corpus divided into two parts: small, stripped PNGs less than 1024 bytes,
and large, stripped PNGs greater than or equal to 1024 bytes.
pngcrush -brute -d BF_brute *.png
CPU time decoding 35.690, encoding 255.190, other 19.960, total 310.840 seconds
4738882 total bytes (complete PNG files)
4281038 total bytes (IDAT chunk data)
6850560 2013-03-02 22:04 mozilla-corpus.tar
4995464 2013-03-02 22:04 ../mozilla-corpus.tar.xz (xz)
4994412 2013-03-02 22:04 ../mozilla-corpus.tar.xz (xz -9)
scooby> time gzip -9n *.idat
real 0m5.553s user 0m5.344s sys 0m0.200s
time gzip -d *.gz
real 0m0.778s user 0m0.552s sys 0m0.224s
scooby> time gzip -9n *.idat
real 0m5.648s user 0m5.436s sys 0m0.200s
4360009 total bytes (includes 20820 bytes of gzip overhead)
4339189 total bytes (without 20820 bytes of gzip overhead)
scooby> time gunzip *.idat.gz
real 0m0.762s user 0m0.568s sys 0m0.188s
scooby> time bzip2 *idat
real 0m3.830s user 0m3.452s sys 0m0.320s
4015342 total bytes
scooby> time bzip2 -d *bz2
real 0m1.011s user 0m0.716s sys 0m0.292s
scooby> time xz *idat
real 0m14.621s user 0m14.305s sys 0m0.236s
3813468 total bytes
scooby> time xz -d *.xz
real 0m0.716s user 0m0.452s sys 0m0.256s
scooby> nohup time zopfli --zlib *.idat &
587.24user 0.40system 9:48.10elapsed
4035633 total
pngcrush -d PC_default *.png
CPU time decoding 1.710, encoding 21.600, other 1.190, total 24.500 seconds
4757749 total bytes (complete PNG files)
4299905 total bytes (IDAT chunk data)
scooby> time gzip -9n *.idat
real 0m5.504s user 0m5.260s sys 0m0.236s
4369829 total
scooby> time gunzip *gz
real 0m0.791s user 0m0.576s sys 0m0.212s
scooby> time xz *.idat
real 0m14.481s user 0m14.145s sys 0m0.308s
3820192 total
scooby> time xz -d *.xz
real 0m0.693s user 0m0.468s sys 0m0.220s
scooby> time bzip2 -9 *.idat
real 0m3.603s user 0m3.220s sys 0m0.376s
4022529 total
scooby> time bzip2 -d *bz2
real 0m0.989s user 0m0.732s sys 0m0.252s
time zopfli --zlib *.idat
590.4 sec
4047719 total
pngcrush -m 7 -force *.png # filter 0 level 9 strategy 0
CPU time decoding 0.690, encoding 17.270, other 0.670, total 18.630 seconds
5593778 total PNG size
5136096 total IDAT size
scooby> time gzip -n9 *.idat
real 0m2.835s user 0m2.556s sys 0m0.268s
5153307 total
scooby> time gunzip *.gz
real 0m0.800s user 0m0.524s sys 0m0.272s
scooby> time gzip -n9 *.idat
real 0m7.134s user 0m6.812s sys 0m0.200s
4773010 total
scooby> time gunzip *gz
real 0m0.763s user 0m0.536s sys 0m0.224s
scooby> time bzip2 -9 *.idat
real 0m5.024s user 0m4.684s sys 0m0.308s
4614708 total
scooby> time bzip2 -d *.bz2
real 0m1.033s user 0m0.732s sys 0m0.296s
scooby> time xz *.idat
real 0m12.970s user 0m12.673s sys 0m0.280s
4138560 total
scooby> time xz -d *xz
real 0m0.758s user 0m0.476s sys 0m0.280s
zopli --zlib *.png
98.45user 0.47system 1:39.12elapsed 99%CPU (0avgtext+0avgdata 40192maxresident)k
4864938
pngcrush -m 6 -force *.png
CPU time decoding 0.430, encoding 16.090, other 0.870, total 17.390 seconds
4763290
scooby> time gzip -n9 *.idat
real 0m2.833s user 0m2.548s sys 0m0.236s
4752190
scooby> gunzip *gz
real 0m0.767s user 0m0.580s sys 0m0.184s
bzip2 -9
real 0m2.523s user 0m2.164s sys 0m0.272s
5492706 total
scooby> time xz *.idat
real 0m15.198s user 0m14.873s sys 0m0.272s
4231288 total
scooby> time xz -d *xz
real 0m0.707s user 0m0.488s sys 0m0.216s
zopfli
91.32user 0.62system 1:32.02elapsed
5153680
nohup time pngcrush -brute -reduce -force -d PC_reduced *.png&
CPU time decoding 36.160, encoding 244.460, other 16.910, total 297.530 seconds
4108911
time gzip -9n *.idat
real 0m5.315s user 0m5.068s sys 0m0.240s
4187025 total
time gunzip *.gz
real 0m0.766s user 0m0.512s sys 0m0.252s
scooby> time bzip2 -9 *.idat
real 0m3.618s user 0m3.220s sys 0m0.328s
3844856 total
scooby> time xz *.idat
real 0m14.098s user 0m13.753s sys 0m0.284s
3651752 total
zopfli
81.01user 0.45system 1:21.59elapsed
Summary:
Method time IDAT bytes
original files n/a 5019516
pngcrush -brute 310.8 4281038
gzip -9n 5.6 4339189
zopfli --zlib 596.7 4035633
bzip2 -9 3.8 4015342
xz 14.6 3813468
pngcrush default 24.5 4299905
gzip -9n 5.5 4349009
zopfli --zlib 590.4 4047719
bzip2 -9 3.6 4022529
xz 14.5 3820192
pngcrush none 18.6 5136096
zopfli --zlib 98.9 4864938
gzip -n9 2.8 5132487
bzip2 -9 3.8 4614708
xz 12.8 4138560
pngcrush adaptive 17.4 4763290
zopfli --zlib 99.0 5153680
gzip -n9 2.8 4752190
bzip2 -9 2.6 5492706
xz 15.2 4231288
pngcrush -reduce 297.5 4108911
gzip -9n 5.3 4187025
zopfli --zlib 81.5 4461661
bzip2 -9 3.6 3844856
xz 13.8 3651752
Kodak 24 test images (some rotated to portrait)
time zopfli --zlib *.idat
real 2m52.325s user 2m52.107s sys 0m0.060s
kodim*.png 15249498 total
kodim*.zdat 15246402 total
kodim*.zlib 14717411 total
Size range pngcrush zopfli z/pc
0-200 11818 11618 .9831
201-1000 140290 136015 .9695
1001-10000 1040052 1000877 .9623
10001-200000 2756452 2568988 .9320
300000-450000 332611 318047 .9562
450001-999999 15246402 14717411 .9653