![]() |
competition
It's incredible what competition can do - Guess which installer system just introduced LZMA? Inno! NSIS still has more features and will still be used for most of my work, but Inno is trying very hard to make their software more viable. Apparently, the overhead has been reduced by 150k, even though two DLLs have now been added.
I wonder how long it will take for the commercial installers to integrate LZMA, now that the two biggest free ones have. |
The Inno Setup core does not include LZMA compression, they just include the huge 7-zip DLL files.
The LZMA decompression system of NSIS is only 5 KB large, while these DLL files are about 150 KB large. |
The Inno package installer size was reduced by 150kb, not the overhead. The overhead grew by the size of the uncompression DLL, probably compressed.
Did anyone take a look at the source code used to interface with the DLL? Could anyone find the source code to the DLLs islzma.dll and isunlzma.dll? I can't find them anywhere. |
If you want to bash Inno Setup, at least be honest. It doesn't 'just include' some 7 zip dlls nor is the size of the decompression code inside a built Setup anywhere near 150 kb.
|
Of course I don't want to bash Inno Setup. People should just use the software they like most.
It is true that Inno Setup includes 7-zip DLL's. It's written in Delphi so they can't include it in the core. |
Quote:
|
Yes, using a dynamic link library (DLL).
Quote from the Inno Setup site: Quote:
|
No, I meant Delphi can link to an .obj too
|
Right, so Inno Setup statically links these libraries. Then I misunderstood this quote.
My point was that NSIS contains a custom optimized LZMA decompressor, which is much smaller than the other decompression libraries available. Because this quotes says that two new DLLs are included, I assumed that these two DLLs (146 KB) were included. It's it's only one of them the size is 50 KB, still 10 times as large. |
Quote:
(Arg: stop editing your posts please. The 50 kb is before compression.) |
NSIS's 5 KB is also uncompressed.
|
InnoSetup's LZMA decompressiong DLL is 45.5KB, NSIS's inregrated decompression library is less than 5KB. Those are the facts. The entire overhead of NSIS with LZMA decompression is 34.5KB. You do the math.
|
Just as a reminder, the original subject was summed by:
Quote:
|
My math: both LZMA implementations are so small they do not noticably impact the size of a setup differently, especially since the actual LZMA compression is so good. Therefore Joost's initial reply which seems to want to say you can't compare NSIS's LZMA support with Inno Setup's LZMA support is IMHO unfair.
|
Joost was just stating a fact and later added:
Quote:
Quote:
Now please drop this subject and return to the main discussion or I'll have to lock this thread before it derails even more. |
FYI, Inno has supported 7-zip for about 5 or 6 months using the ide ISTool so its not anything they have added because of NSIS. It was probably added for the same reason NSIS added it (because its pretty darn good).
|
Well I still use NSIS in 98% of cases anyways because of the smaller overhead, but in the rare event that I need to span accross multiple CDs, I will now use Inno. A difference between a 34k overhead and a 340k overhead isn't really going to matter that much when I'm installing over 1GB of files.
|
There was probably a bit of miscommunication here when I called the 7-zip libraries used by Inno Setup "huge", sorry for that :)
People who are no regular forum visitors might not know that we NSIS developers are really focused on making software as small as possible, so we call something "huge" while other people will probably think we're exaggerating a bit :D |
Quote:
BTW something interesting happened in the meantime: Igor released a new set of LZMA files to replace the existing C++ code. The decoder .obj is now 2 kb in Inno Setup. |
Yep I've seen the new LZMA SDK. It seems to be quite good, totally written in C, just like the NSIS VM.
Is the decompression speed still good when using the smallest version? |
Try the Inno Setup CVS version and see for yourself :)
|
| All times are GMT. The time now is 17:48. |
Copyright © 1999 - 2010 Nullsoft. All Rights Reserved.