| |
| 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 |
| |