Closed yunhua-deng closed 5 years ago
This is probably related to searching matches in a hash table.
LIZARD_RESET_MEM
. It will clear a hash table at start of compression. This step is normally skipped to make compression faster.
- 32-bit compilation can give slightly lower ratio than 64-bit.
Yep, my 64-bit complication slightly beats 32-bit one regarding the ratio.
- Please try compilation with defined LIZARD_RESET_MEM. It will clear a hash table at start of compression. This step is normally skipped to make compression faster.
I added #define LIZARD_RESET_MEM TRUE to lizard_compress.c, but no luck, made no difference in my case.
Wondering how did you make the complication using Visual Studio, what are the configurations?
Projects for VS are included in this repo. More information at https://github.com/inikep/lizard/tree/lizard/visual
Compiler: Visual Studio 2017 64-Bit Community Edition OS: Windows 10 64-bit Binary size: my version lizard-MyBuild.exe (200+ KB) v.s. official version lizard.exe (500+KB) File to compress: some Android firmware image (namely, "system-other.img")
As you can see from the results attached below, compression ratio of lizard-MyBuild.exe is always not as good as the lizard.exe given the same level (e.g., 25, 29, 45, 49). Any idea on this difference?
Compression ratio of lizard-MyBuild.exe:
Compression ratio of lizard.exe: