Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::RCompressionSetting Struct Reference

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 46 of file Compression.h.

Classes

struct  EAlgorithm
 
struct  EDefaults
 
struct  ELevel
 

Static Public Member Functions

static EAlgorithm::EValues AlgorithmFromCompressionSettings (int compSettings)
 
static std::string AlgorithmToString (EAlgorithm::EValues algorithm)
 

#include <Compression.h>

Member Function Documentation

◆ AlgorithmFromCompressionSettings()

static EAlgorithm::EValues ROOT::RCompressionSetting::AlgorithmFromCompressionSettings ( int  compSettings)
inlinestatic

Definition at line 110 of file Compression.h.

◆ AlgorithmToString()

static std::string ROOT::RCompressionSetting::AlgorithmToString ( EAlgorithm::EValues  algorithm)
static

The documentation for this struct was generated from the following file: