Upon some consideration I decided to share my PPM model.
Included is an estimator of compressed file size.
Your observations and opinions are welcomed.
In case you make use of the source code, I appreciate crediting it.
Stefan
Printable View
Upon some consideration I decided to share my PPM model.
Included is an estimator of compressed file size.
Your observations and opinions are welcomed.
In case you make use of the source code, I appreciate crediting it.
Stefan
The important thing is to start with, confront and always try to improve. Looks like a good code PPM but why not create a standard compressor files, if you have trouble you can see fpaq sources, or other open source software. Just remember that a compressor that uses float numbers for the probability (float or double) in theory will not be easily compatible on all processors.
Not sure what are standard compressor files. Currently the code only estimates file size after compression. Added some updates and bug fixes, for anyone interested you'll find an improved version attached.
Normally a program would take command line arguments maybe like this:
st c input compressed_file
st d compressed_file output
I suggest removing #include "stdafx.h", using <> instead of "", and adding <string.h> to make it portable.
Attached, the latest version of st.
How would you compile that?
IntelC 11.1.072 -fp:precise compile
Just to remind - program assumes that the file named enwik7 is nearby the exe file.
Pleased to share an improved version of st.
With enwik8 in the current directory it produces the output (ignoring any command line arguments):
Estimated filesize 44823736
77.95
If you decide to make this into a general purpose compressor (for any file), I will benchmark it.
i'm getting this (64bit binary):
and this if compiled with -O3Quote:
Estimated filesize 43984826
96.77
edit:Quote:
Estimated filesize 43984826
47.26
as 32bit binary (again with -O3) i got the same size as matt.
the 32bit version is faster than the 64bit, but compression is worse obviously.Quote:
Estimated filesize 44823736
39.37
Yes, I tested with a 32 bit compile. I didn't think 64 bit would be different.
Added a preprocessing stage and improved the main model.