The global settings depend on a global variable named R__ZipMode which can be modified by a global function named R__SetZipMode.
Both are defined in Bits.h.
- The default is to use the global setting and the default of the global setting is to use the ZLIB compression algorithm.
- The LZMA algorithm (from the XZ package) is also available. The LZMA compression usually results in greater compression factors, but takes more CPU time and memory when compressing. LZMA memory usage is particularly high for compression levels 8 and 9.
- Finally, the LZ4 package results in worse compression ratios than ZLIB but achieves much faster decompression rates.
The current algorithms support level 1 to 9. The higher the level the greater the compression and more CPU time and memory resources used during compression. Level 0 means no compression.
Recommendation for the compression algorithm's levels:
- ZLIB is recommended to be used with compression level 1 [101]
- LZMA is recommended to be used with compression level 7-8 (higher is better, since in the case of LZMA we don't care about compression/decompression speed) [207 - 208]
- LZ4 is recommended to be used with compression level 4 [404]
- ZSTD is recommended to be used with compression level 5 [505]
Definition at line 43 of file Compression.h.