Archive: New Compression Results for NSIS ....


New Compression Results for NSIS ....
I decided to do some compression test after I had moved my whole Apache Test Webserver documents from one computer to another. That was a few months ago and now I have more files. Here are the results from a screen shot.

1) The total amount of files ... it took me more than a year to create and gather these. (about 80% of them are text)

http://home.earthlink.net/~duanejeff...properties.png

2)Next I zipped them up using 7-zip(but using the .zip format)

http://home.earthlink.net/~duanejeff...properties.png

3) 7-zip (.7z) compression

http://home.earthlink.net/~duanejeff...properties.png

4) NSIS-zlib compression (with SetCompress force tag)

http://home.earthlink.net/~duanejeff...properties.png

5) NSIS-Bzip2 compression (with SetCompress force tag)

http://home.earthlink.net/~duanejeff...properties.png

So there you go. You can determine who the Winner is ;) :D

-Duane


Duane,

to confirm your findings: I also noticed that bzip2 does extremely well when it has to compress a lot of files of the same structure, eg: all textfiles or all exe files. On the other hand, zlib can be better with more heterogeneous files.

But this is no strict rule...

Greetz,
-Hendri.


Hi, as i did not really know was bz2 was... now, i know !
Although i translated the whole c++ files, the bz2 compilation is still with english messages ! Why ?


Have you tried RAR compression or ACE? I'm guessing these two formats still beat bz2... bot not by much :D


Originally posted by veekee
Hi, as i did not really know was bz2 was... now, i know !
Although i translated the whole c++ files, the bz2 compilation is still with english messages ! Why ?
You have to compile it with the bz2 compression turned on (see config.h).

i still do not understand ....
well, bz2 was not defined, but i was able to use it as compression mode ! Why, if this is disable ?????
:igor:


Originally posted by veekee
i still do not understand ....
well, bz2 was not defined, but i was able to use it as compression mode ! Why, if this is disable ?????
:igor:
The compression mode is determined by the exe that you are using to compile it. Both zlib and bz2 makensis exes are installed by default. You can't specify the compression mode in your script. If you want to compile the source, you will have to compile it twice to get both exes. Then you would have to replace the 2 exes in the install dir to use them with the extensions.

well, i uncomment BZ2 support, try to compile, removed the ZLIB support (;) forgot that one), recompiled, and it passes ! I reinstalled NSIS and try a compile with bz2 ! All strings were the english one, even if all strings in nsis are in french !!!! :cry:
I don't see any difference bewteen selecting bz2 or zlib in config.h !!!


understood =) Okai, thanks a lot .. my mind was so slow :D ! Thank you very much rainwater!!!!!!!!


Originally posted by Smile2Me
Duane,

to confirm your findings: I also noticed that bzip2 does extremely well when it has to compress a lot of files of the same structure, eg: all textfiles or all exe files. On the other hand, zlib can be better with more heterogeneous files.

But this is no strict rule...

Greetz,
-Hendri.
bzip2 compresses text well. But if makensis-bz2.exe creates smaller installers when there are similar files, this is because NSIS_COMPRESS_WHOLE has been defined.

Koen, RAR and ACE compression algorithms are proprietary. We can't put them in NSIS.

just a comment:

I am compressing only icons and bz2 produces a bigger file.


i get the same result, with nearly 90% of my installers !
For example, (i'm using the french nsis) compiling NSIS package with bz2 is 4 kb bigger than zlib compression mode.. (without bz2_smallmode and bz2_compress_whole options) !