Archive: LZMA dictionary size


LZMA dictionary size
I've found that it should be set with this:

dict_size_mb

But I'm not sure how to us it. Like this?

dict_size_mb 32MB

or this:

dict_size_mb 32

or different? And do I have to put it before or after SetCompressor? Maybe someone has an working example of the exact line I must use?


SetCompressor lzma
SetCompressorDictSize 32


Owwww, I was wrong after all :P Thank you for the great help, I really appreciate the fast response!


What good does increasing the dictionary size do?

-Scott


slightly better compression.


Gotcha. So, what's the downside, then?


More memmory usage when extracting and slightly slower.

Vytautas ;)


Keep in mind that increasing the dictionary size with 1 MB increases the memory requirement by 1 MB too.

Using a huge dictionary size to save only a few bytes is usually not a good idea.


Right then.

I'll just leave it alone. :)


Compression requires about 10MB ram more for every 1MB of dictionary size increase. So, if you've choose a dictionary size of 32MB, compression will require little over 320MB and installing little over 32MB (running the makensis and your installer also requires a small amount of memory). 8MB is a nice balance, but I prefer a little bit better compression (saves me a few MB's).