NAME¶
ppmd - file-to-file compressor
SYNTAX¶
ppmd [
e|
d] [
switches]
filename...|
wildcard...
DESCRIPTION¶
It is written for embedding in user programs mainly and it is not intended for
immediate use. I 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).
OPTIONS¶
- -d
- Delete file[s] after processing, default: disabled.
- -s
- Silent mode.
- -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.
EXAMPLES¶
To run this program the standard way type:
ppmd e /tmp/myfile
Alternatively you can run it as:
ppmd -e -o 16 /tmp/myfile
AUTHORS¶
PPMd was written by Dmitry Shkarin <dmitry.shkarin@mtu-net.ru> and Dmitry
Subbotin.
SEE ALSO¶
gzip(1),
bzip2(1),
lzma(1).