View Single Post
Old 31st August 2018, 13:00   #10
Junior Member
Join Date: Apr 2013
Posts: 37
Just to pop this up once again. Any chance of including lzma2 into Nsisbi (well it would be nice in normal nsis too). Also I think the lzma module should be much quicker even using singlecore - guess it has not been updated long long time either.

For my testcase I get:
Compressor off 548MB
LZ4 489MB (just a tiny bit slower then compress off)
LZ4 465MB with SetCompressorDictSize 1: Very Slow - Comparable to BZIP2 speed. Really Useless Mode.
Zlib 420MB (a lot slower - but still way faster than lzma, a bit slower than simply compressing the whole data lzma2 with 7zip on a 4 Core processor with Hyperthreading - but yeah it's also single core use only)
BZIP 2: 420MB -- very slow
LZMA 377MB. very very slow.

So lz4 without Dictionary is kinda nice if compression/uncompression speed is really important - and as it's nearly as fast as no compression at all - it is attractive. On my dataset ZLIB is not doing too bad - considering it is still pretty fast - and gets the size down again a lot from LZ4.
LZMA is king however about compression ratio - and if NSIS/NSISBI could move to lzma2 that would at least on the compression side make the speed pretty attractive.

Note - on NSISBI there is still a problem in the log with choosing lz4 as Compressor:
SetCompressor: lz4
warning 8026: SetCompressorDictSize: compressor is not set to LZMA. Effectively ignored.

Another problem is - I cannot unextract/open installers created by Nsisbi with 7zip. That's really not good as my installers also serve as container for linux users to download and just unpack the data. It does not matter which compressor I choose - the problem exists as soon as I use NSISBI - if I go back to NSIS I can again unpack all installers.
extremecarver is offline   Reply With Quote