Bug#176960: ITP: PPMd-- A fast compression program with good compression ratio
Package: wnpp
Version: N/A; reported 2003-01-16
Severity: wishlist
* Package name : ppmd
Version : i1 (translated to 9.1 for debian)
Upstream Author : Dmitry Shkarin <dmitry.shkarin@mtu-net.ru> and Dmitry Subbotin
* URL : ftp://ftp.elf.stuba.sk/pub/pc/pack
* License : See below
Description : A fast compression program with good compression ratio
License:
You can not misattribute authorship on algorithm or code sources, You can
not patent algorithm or its parts, all other things are allowed and welcomed.
Dmitry Subbotin and me have authorship rights on code sources. Dmitry
Subbotin owns authorship rights on his variation of rangecoder algorithm and
I own authorship rights on my variation of PPM algorithm. This variation is
named PPMII (PPM with Information Inheritance). PPMonstr program is
distributed for experiments and noncommercial use only.
AUTHOR SHALL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL,
OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THIS SOFTWARE. YOU USE
THIS PROGRAM AT YOUR OWN RISK.
--
Since PPMonstr is unfree I don't intend to package it. Pre packages are available[0].
0. oxtan.campus.luth.se/debian/ppmd
PPM compressors have been to slow to use until recently. PPMd is a demonstration program that
fixes this problem. It's based on a compression article[1] by Dmitry. A more usable program that
contains PPMd code is 7zip[2], but being written originally for windows its not possible to
compile for debian. Hence PPMd is usable until 7zip ported. Current packaging efforts
of 7zip seems to have stopped[3].
1. http://DataCompression.info/Miscellaneous/PPMII_DCC02.pdf
2. http://www.7-zip.org/
3. bugs.debian.org/160928
Here comes a compression test. Its the debian source packages that has been compressed. It confirms
the calgary corpus result, I.e ppmii is a good compressor.
Packer total size compression improvement from gz loss from best time (s)
tar 25764.5Mb 0 -2.42284 0.786226 0
gzip 7527.25Mb 0.707845 0 0.268287 41010.3
zzip 5987.13Mb 0.767621 0.204605 0.0800635 441934
szip 6501.28Mb 0.747666 0.1363 0.152816 37523.5
bzip2 6479.37Mb 0.748516 0.139211 0.149951 43998.6
PPMd2 8631.81Mb 0.664973 -0.146742 0.36192 36657.1
PPMd3 7199.65Mb 0.72056 0.0435215 0.234993 39515.3
PPMd4 6549.61Mb 0.74579 0.129879 0.159067 41225.7
PPMd5 6223.04Mb 0.758465 0.173265 0.114937 43005
PPMd6 6027.49Mb 0.766055 0.199245 0.0862218 44711.3
PPMd7 5892.44Mb 0.771297 0.217185 0.0652795 46276.5
PPMd8 5796.15Mb 0.775034 0.229978 0.0497504 47621.4
PPMd9 5731.01Mb 0.777562 0.238631 0.0389513 48880.5
PPMd10 5688.98Mb 0.779193 0.244215 0.0318506 50777.1
PPMd11 5661.65Mb 0.780254 0.247846 0.0271773 50990.6
PPMd12 5638.57Mb 0.78115 0.250912 0.0231944 51868.9
PPMd13 5625.2Mb 0.781669 0.252688 0.0208738 52697.2
PPMd14 5613.63Mb 0.782118 0.254225 0.0188553 53441
PPMd15 5609.34Mb 0.782285 0.254795 0.0181046 54141.2
PPMd16 5605.05Mb 0.782451 0.255366 0.0173525 54776.9
bzip2 = bzip2 -9
PPMd16 = PPMd ... -o16, i.e. using a model order of 16. I wanted to test if bigger order means better
compression, which seems to be true.
compression = relative compression
improvement from gz = relative improvement from gzip compression
loss from best = relative size difference compared to using different compressors for each
package and using the individually best compressor for each package.
time(s) = total compression time
--
Magnus Ekdahl 0739-287181 magnus@debian.org maguno@ludd.luth.se
public key available at http://oxtan.campus.luth.se/magnus.public
ftp://ftp.se.debian.org/debian-non-US/pool/non-US/main/d/debian-keyring/
Key fingerprint = 18DE CB62 8A86 374E 824E 09ED 1987 4B18 1213 79F6
Reply to: