ppmd - file-to-file compressor
ppmd <e|d> [switches] <FileName[s] | Wildcard[s]>
PPMD is written for embedding in user programs mainly and it is not intended for
immediate use. The author was interested in speed and performance improvements
of abstract PPM model [1-6] only, without tuning it to particular data types,
therefore compressor works good enough for texts, but it is not so good for
nonhomogeneous files (executables) and for noisy analog data (sounds, pictures
etc.). Program is very memory consuming, you can choose balance between
execution speed and memory economy, on one hand, and compression performance,
on another hand, with the help of model order selection option (-o).
- -d <delete file[s] after processing, default:
disabled>
- -s <silent>
- -fName <set output file name to Name>
- -mN <use N MB memory - [1,256], default: 10> The PPMII
algorithm
- might need a lot of memory, especially when used on large files and/or
used with large model order. If ppmd needs more memory than you give it,
the compression will be worse. The exact effect is dependent on the -r
option.
- -oN <set model order to N - [2,16], default: 4> Bigger
model
- orders almost surely results in better compression and surely more memory
and CPU usage.
- -r{0,1,2} <>
- Methods of restoration of model correctness at memory insufficiency:
'-r0 - restart model from scratch'. This method is not optimal for any type
of data sources, but it works fast and efficient in average, so it is the
recommended method (default).
'-r1 - cut off model'. This method is optimal for quasistationary sources
when the period of stationarity is much larger than period between
cutoffs. As a rule, it gives better results, but it is slower than other
methods and it is unstable against fragmentation of memory heap at high
model orders and low memory.
'-r2 - freeze model'. This method is optimal for stationary sources (show
me such source when You will find it ;-)). It is fast and efficient for
such sources.
To run this program the standard way type:
ppmd e /tmp/myfile
Alternatively you can run it as:
ppmd -e -o 16 /tmp/myfile
PPMd was written by Dmitry Shkarin <dmitry.shkarin@mtu-net.ru> and Dmitry
Subbotin.