View Issue Details

IDProjectCategoryView StatusLast Update
0002877unrealircdpublic2006-04-10 09:07
ReporterTrocotronic Assigned Tosyzop  
PrioritynormalSeverityfeatureReproducibilityalways
Status resolvedResolutionfixed 
PlatformAMD K6 32bitsOSWindows XP ProfessionalOS VersionSP2
Product Version3.2.5 
Fixed in Version3.2.5 
Summary0002877: Better compression
DescriptionI've experimented with Inno Setup to improve compression. So, I've got to reduce the packet in ~300kb using

Compression=lzma/ultra
SolidCompression=true
InternalCompressLevel=ultra

instead of
Compression=lzma
TagsNo tags attached.
3rd party modules

Activities

syzop

2006-04-10 06:44

administrator   ~0011507

I know I can easily find this myself too, but: how much better does it compress?
Another factor to keep in mind is also the performance impact of it.
Then again, if you are running a lowspec machine (like 350MHz CPU), you probably shouldn't be running an ircd, but.. still.. ;)
Tradeoff thing :P.

Trocotronic

2006-04-10 07:37

reporter   ~0011509

Yes, you are right. But a 25% of compression would be better. Why not? What impact could have it?

syzop

2006-04-10 08:46

administrator   ~0011510

So it's 25% better?

Ah well, guess I'll need to find out myself ;p

syzop

2006-04-10 08:57

administrator   ~0011511

hm, check the help on compression levels, I paste:

lzma is the method of compression employed by the 7-Zip LZMA compressor. It typically compresses significantly better than the zip
 and bzip methods. However, depending on the compression level used, it can be significantly slower at compressing, and consume a lot more memory. The following table summarizes the approximate memory requirements for each of the supported lzma compression levels. If a compression level isn't specified, it defaults to max. 

Decompression	Compression 
fast	3 MB	3 MB 
normal	4 MB	27 MB 
max (default)	10 MB	84 MB 
ultra	34 MB	369 MB	<-- that's not a typo; be careful!

syzop

2006-04-10 08:58

administrator   ~0011512

Additionally, see the warnings on SolidCompression etc.. and you understand what I'm talking about ;).

It's a tradeoff, but like I said, I will consider it.

syzop

2006-04-10 09:04

administrator   ~0011513

Andddd the results.. :
2837K current compression levels
2435K SolidCompression=true
2433K Solid + Ultra compression

So fortunately the ulta isn't really much needed. Solid saves 400K though, which is 15%. Reading the comments regarding SolidCompression, I don't think most of the downsides concerns us..

** paste **
If yes, solid compression will be enabled. This causes all files to be compressed at once instead of separately. This can result a much greater overall compression ratio if your installation contains many files with common content, such as text files, especially if such common content files are grouped together within the [Files] section.
The disadvantage to using solid compression is that because all files are compressed into a single compressed stream, Setup can no longer randomly access the files. This can decrease performance. If a certain file isn't going to be extracted on the user's system, it has to decompress the data for that file anyway (into memory) before it can decompress the next file. And if, for example, there was an error while extracting a particular file and the user clicks Retry, it can't just seek to the beginning of that file's compressed data; since all files are stored in one stream, it has seek to the very beginning. If disk spanning was enabled, the user would have to re-insert disk 1.

Thus, it is not recommended that solid compression be enabled on huge installs (say, over 100 MB) or on disk-spanned installs. It is primarily designed to save download time on smaller installs distributed over the Internet.
** end of paste **

syzop

2006-04-10 09:07

administrator   ~0011514

Added in .485:
- Made the windows installer better compress things (SolidCompression=true), suggested
  by Trocotronic (0002877).

Thanks.

Issue History

Date Modified Username Field Change
2006-04-09 18:46 Trocotronic New Issue
2006-04-10 06:44 syzop Note Added: 0011507
2006-04-10 07:37 Trocotronic Note Added: 0011509
2006-04-10 08:46 syzop Note Added: 0011510
2006-04-10 08:57 syzop Note Added: 0011511
2006-04-10 08:58 syzop Note Added: 0011512
2006-04-10 09:04 syzop Note Added: 0011513
2006-04-10 09:07 syzop Status new => resolved
2006-04-10 09:07 syzop Fixed in Version => 3.2.5
2006-04-10 09:07 syzop Resolution open => fixed
2006-04-10 09:07 syzop Assigned To => syzop
2006-04-10 09:07 syzop Note Added: 0011514