[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: