[fpc-pascal] a suggestion...

Пётр Косаревский ppkk at mail.ru
Thu Jun 1 15:39:50 CEST 2006

Correction: Rar produced 212 Mb on OO 2.0.2 sources, but using "force text compression" makes it produce 206 Mb with not really big time overhead.

> Then try one of the last compressors as PAQ8, your OO 2.0.2 
> sources  will take days in compress, but i think you can get 140-150 
> MB or even less and is opensource too. But it isn't used out of 

First thing: I did neither think or believe, I just tested.

Well, my benchmarks concerned bearable timings and memory requirements: no more than two hours and 512 Mb. I didn't test archivers, which were not mentioned in the thread (exception: PPMonstr, which actually was only an example of compression world only compressor).

> comp.compression world. Also, the WinRK3.03 is a lot faster and gets 
> a bit more compression, but only works on windows. The tar.gz of 

All four archivers tested by me work under many systems (bzip2, gzip, rar, 7z). I believe, paq8h has only minor problems porting. Rar is commercial, but it has good GUI (well, I use it and I like it) and is supported and developed continuously (and my benchmarks showed, that its compression ratios under given circumstances are not so good: losing to 7z is due to "dictionary" size: rar uses no more than 128 Mb of memory, but losing to bzip2 on fpcSVN is freaky).

> http://www.maximumcompression.com/ for details and the newsgroup 
> comp.compression or datacompression.info for more info.

Oh, you forgot www.compression.ru :)

Didn't you pay attention, that the these sites didn't test sources? (And www.compression.ru has really outdated benchmarks :( )

> Just change the gzip to a better zip program for make zip files, as 
> 7z, and you'll get an improvement from current compression, but the 

Gzip does not produce zip files. It just uses deflate algorithm.

> bzip2 suggestion is very good, even FreeBSD has changed the tar.gz 
> system to tar.bz2 (tbz) and the difference is notable.

Yes. And it uses only about 8 Mb memory. (But my test showed, that it loses 8.5% on OO 2.0.2 sources to Rar. And more than 11.5% with "force text compression" in rar.)

WinRK is unacceptable, because it is not only commercial, but runs only under windows. While Rar offers command line support under several linuces and unrar support under many systems.
AND WHILE ITS COMPRESSION ENGINE MAY BE GOOD, it simply does not work well (e.g. 3.0.3 b2 tells, that trial period has expired right after installation). IT'S PROGRAMMED BADLY.

Paq8 may be good, because it's open source and free. (By the way, if I get it right and speak it out very roughly, it is PPMd based with some dictionary improvements and other tweaks added.) But it's incredibly slow (in PPMonstr's category).

I understand, that experimental archivers are sometimes optimized for Calgary Challenge (not because of luaghable money prizes, but because of some sort of fame), so it's not that great for compressing OO 2.0.2 or FPC sources.

Benchmarks addendum (FPCsvn):

WinRK --- requires tweaks to run and may crash at many moments (GUI problems?). Could it be useful, "High" profile would be applied (<512 Mb). And it would be too long (as 7z in LZMA mode).
Paq-8H (on a "rar ball"): too long...

Well, bzip2 or 7z do seem most efficient. Nothing has changed. Probably, this thread is useless: if the developers find some time, they will use bzip2 or something they like.

More information about the fpc-pascal mailing list