Currently mksquashfs (only) uses zlib deflate with level 9 and strategy 'Z_DEFAULT_STRATEGY'.
Although this is a fairly good deflate method it will not always yield the smallest possible compressed data.
Because a squashfs filesystem is made once and read multiple times taking more time during creation to search for optimal compression can be considered free of cost (for most users) and does not add any decompression time when reading from the filesystem.
There are some alternatives to the current scheme:
- use zlib deflate with different levels and strategies for every block to compress and select the smallest result
- add the use of an alternative deflate implementation like Igor Pavlov's 7-zip deflate and choice the best on a block by block basis