Logo ROOT   6.14/05
Reference Guide
Enumerations | Variables
Compression.h File Reference
This graph shows which files directly or indirectly include this file:

Enumerations

enum  ECompressionAlgorithm {
  kUseGlobalCompressionSetting, kZLIB, kLZMA, kOldCompressionAlgo,
  kLZ4, kUndefinedCompressionAlgorithm
}
 The global settings depend on a global variable named R__ZipMode which can be modified by a global function named R__SetZipMode. More...
 

Variables

static enum ECompressionAlgorithm kUseGlobalSetting = kUseGlobalCompressionSetting
 Deprecated name, do not use: More...
 

Enumeration Type Documentation

◆ ECompressionAlgorithm

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]
Enumerator
kUseGlobalCompressionSetting 

Use the global compression setting.

kZLIB 

Use ZLIB compression.

kLZMA 

Use LZMA compression.

kOldCompressionAlgo 

Use the old compression algorithm.

kLZ4 

Use LZ4 compression.

kUndefinedCompressionAlgorithm 

Undefined compression algorithm (must be kept the last of the list in case a new algorithm is added).

Definition at line 43 of file Compression.h.

Variable Documentation

◆ kUseGlobalSetting

enum ECompressionAlgorithm kUseGlobalSetting = kUseGlobalCompressionSetting
static

Deprecated name, do not use:

Definition at line 59 of file Compression.h.