IisGzip is a command line wrapper around the gzip compression library used by Microsoft IIS.
If you're looking for a way to let IIS compress content using a different compressor, check out this other project.
IisGzip.exe [-0..10] [-dPathToDll] < in.txt > out.txt.gz
Default compression level is 10. Make sure you have IIS installed.
Here are a few completely unscientific benchmarks:
Input | gzip 1.4 -9 | 7-Zip 9.20 -tgzip -mx=9 | IisGzip -10 | Zopfli b87006b (numiterations=15) | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
enwik8 | |||||||||||
Size (bytes) | 100'000'000 | 36'445'248 | 35'102'884 | 35'065'645 | 34'987'671 | ||||||
Savings compared to gzip | 3.7% | 3.8% | 4.0% | ||||||||
Compression Time | 6.6s | 89s | 18s | 503s | |||||||
jquery-1.11.1.min.js | |||||||||||
Size (bytes) | 95'786 | 33'083 | 32'191 | 32'358 | 32'091 | ||||||
Savings compared to gzip | 2.7% | 2.2% | 3.0% | ||||||||
Compression Time (100 runs) | 1.9s | 9.0s | 3.0s | 33s |
Here's a benchmark of the different compression levels offered by the IIS gzip library:
Compression Level | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|---|
jquery-1.11.1.min.js | |||||||||||
Compression Time (1000 runs), in s | 14.6 | 14.4 | 14.7 | 15.0 | 15.4 | 16.4 | 17.5 | 17.8 | 18.2 | 18.5 | 28.5 |
Size (bytes) | 42'748 | 40'949 | 39'437 | 38'451 | 34'383 | 33'662 | 33'349 | 33'311 | 33'293 | 33'293 | 32'358 |
Savings compared to level 0 | 5% | 8% | 11% | 20% | 22% | 22% | 23% | 23% | 23% | 25% | |
enwik8 | |||||||||||
Compression Time (s) | 1.7 | 1.8 | 2.1 | 2.8 | 3.0 | 4.5 | 6.9 | 7.8 | 8.4 | 8.4 | 18.2 |
Size (bytes) | 47'524'214 | 43'999'420 | 42'452'501 | 41'284'376 | 38'132'424 | 37'200'509 | 36'667'333 | 36'601'317 | 36'579'173 | 36'578'953 | 35'065'645 |
Savings compared to level 0 | 8% | 11% | 14% | 20% | 22% | 23% | 23% | 24% | 24% | 27% |