myne
25th November 2003 23:02 UTC
can lzma compress files individually rather than compress ALL
Basically it comes down to the temp space requirement.
bzip requires 2x the output size to install - half of that is used for temp files.
lzma is the same.
The other plain style compression seems to compress and extract each file individually meaning that only the total + the size of the largest file is needed in the worst case.
That one is much easier for large installs. There are many users that struggle to find 2gig free which means we ended up having to trade download size for temp usage. 40mb extra to download (540mb) but it didnt require much overhead in temp space.
I am hoping there's a way to enable lzma to compress each file individually and then add it to the install archive. imho there should be a minimal loss of compression and minimal overheads without the requirement for 2x install size free.
I'd appreciate you guys consider this.
Joost Verburg
26th November 2003 07:30 UTC
LZMA gives the best results when using solid compression. However, you can recompile NSIS without solid compression for LZMA (see config.h).
myne
26th November 2003 08:19 UTC
Thanks, however I am not exactly comfortable with recompiling the exe.
Is there a possibility for a future build to have this function?
Say :
SetCompressor lzmafull ; requires 1x the total output size for temp space - all files are bundled and then compressed as a whole
Or,
SetCompressor lzmasafe ; loses a bit of compression for lower temp requirements - each file is individually compressed and THEN archived
I'd really appreciate, and I'm sure others would, if you could do something similar to this. I wouldnt expect much more than a 5% loss of compression using the individual option
kichik
26th November 2003 12:54 UTC
That is a planned feature. But you shouldn't worry about recompiling as long as you follow the exact instructions in the documentation.
As for the %5 precent loss, I wouldn't count on it being that low...
myne
26th November 2003 19:34 UTC
Thanks :)