Logo ROOT  
Reference Guide
ROOT::Experimental::RNTupleWriteOptions Class Reference

Common user-tunable settings for storing ntuples.

All page sink classes need to support the common options.

Definition at line 49 of file RNTupleOptions.hxx.

Public Member Functions

virtual ~RNTupleWriteOptions ()=default
 
virtual std::unique_ptr< RNTupleWriteOptionsClone () const
 
std::size_t GetApproxUnzippedPageSize () const
 
std::size_t GetApproxZippedClusterSize () const
 
int GetCompression () const
 
ENTupleContainerFormat GetContainerFormat () const
 
std::size_t GetMaxUnzippedClusterSize () const
 
bool GetUseBufferedWrite () const
 
void SetApproxUnzippedPageSize (std::size_t val)
 
void SetApproxZippedClusterSize (std::size_t val)
 
void SetCompression (int val)
 
void SetCompression (RCompressionSetting::EAlgorithm algorithm, int compressionLevel)
 
void SetContainerFormat (ENTupleContainerFormat val)
 
void SetMaxUnzippedClusterSize (std::size_t val)
 
void SetUseBufferedWrite (bool val)
 

Private Attributes

std::size_t fApproxUnzippedPageSize = 64 * 1024
 Should be just large enough so that the compression ratio does not benefit much more from larger pages. More...
 
std::size_t fApproxZippedClusterSize = 50 * 1000 * 1000
 Approximation of the target compressed cluster size. More...
 
int fCompression {RCompressionSetting::EDefaults::kUseAnalysis}
 
ENTupleContainerFormat fContainerFormat {ENTupleContainerFormat::kTFile}
 
std::size_t fMaxUnzippedClusterSize = 512 * 1024 * 1024
 Memory limit for committing a cluster: with very high compression ratio, we need a limit on how large the I/O buffer can grow during writing. More...
 
bool fUseBufferedWrite = true
 

#include <ROOT/RNTupleOptions.hxx>

Inheritance diagram for ROOT::Experimental::RNTupleWriteOptions:
[legend]

Constructor & Destructor Documentation

◆ ~RNTupleWriteOptions()

virtual ROOT::Experimental::RNTupleWriteOptions::~RNTupleWriteOptions ( )
virtualdefault

Member Function Documentation

◆ Clone()

std::unique_ptr< ROOT::Experimental::RNTupleWriteOptions > ROOT::Experimental::RNTupleWriteOptions::Clone ( ) const
virtual

Reimplemented in ROOT::Experimental::RNTupleWriteOptionsDaos.

Definition at line 45 of file RNTupleOptions.cxx.

◆ GetApproxUnzippedPageSize()

std::size_t ROOT::Experimental::RNTupleWriteOptions::GetApproxUnzippedPageSize ( ) const
inline

Definition at line 83 of file RNTupleOptions.hxx.

◆ GetApproxZippedClusterSize()

std::size_t ROOT::Experimental::RNTupleWriteOptions::GetApproxZippedClusterSize ( ) const
inline

Definition at line 77 of file RNTupleOptions.hxx.

◆ GetCompression()

int ROOT::Experimental::RNTupleWriteOptions::GetCompression ( ) const
inline

Definition at line 68 of file RNTupleOptions.hxx.

◆ GetContainerFormat()

ENTupleContainerFormat ROOT::Experimental::RNTupleWriteOptions::GetContainerFormat ( ) const
inline

Definition at line 74 of file RNTupleOptions.hxx.

◆ GetMaxUnzippedClusterSize()

std::size_t ROOT::Experimental::RNTupleWriteOptions::GetMaxUnzippedClusterSize ( ) const
inline

Definition at line 80 of file RNTupleOptions.hxx.

◆ GetUseBufferedWrite()

bool ROOT::Experimental::RNTupleWriteOptions::GetUseBufferedWrite ( ) const
inline

Definition at line 86 of file RNTupleOptions.hxx.

◆ SetApproxUnzippedPageSize()

void ROOT::Experimental::RNTupleWriteOptions::SetApproxUnzippedPageSize ( std::size_t  val)

Definition at line 62 of file RNTupleOptions.cxx.

◆ SetApproxZippedClusterSize()

void ROOT::Experimental::RNTupleWriteOptions::SetApproxZippedClusterSize ( std::size_t  val)

Definition at line 50 of file RNTupleOptions.cxx.

◆ SetCompression() [1/2]

void ROOT::Experimental::RNTupleWriteOptions::SetCompression ( int  val)
inline

Definition at line 69 of file RNTupleOptions.hxx.

◆ SetCompression() [2/2]

void ROOT::Experimental::RNTupleWriteOptions::SetCompression ( RCompressionSetting::EAlgorithm  algorithm,
int  compressionLevel 
)
inline

Definition at line 70 of file RNTupleOptions.hxx.

◆ SetContainerFormat()

void ROOT::Experimental::RNTupleWriteOptions::SetContainerFormat ( ENTupleContainerFormat  val)
inline

Definition at line 75 of file RNTupleOptions.hxx.

◆ SetMaxUnzippedClusterSize()

void ROOT::Experimental::RNTupleWriteOptions::SetMaxUnzippedClusterSize ( std::size_t  val)

Definition at line 56 of file RNTupleOptions.cxx.

◆ SetUseBufferedWrite()

void ROOT::Experimental::RNTupleWriteOptions::SetUseBufferedWrite ( bool  val)
inline

Definition at line 87 of file RNTupleOptions.hxx.

Member Data Documentation

◆ fApproxUnzippedPageSize

std::size_t ROOT::Experimental::RNTupleWriteOptions::fApproxUnzippedPageSize = 64 * 1024
private

Should be just large enough so that the compression ratio does not benefit much more from larger pages.

Unless the cluster is too small to contain a sufficiently large page, pages are fApproxUnzippedPageSize in size and tail pages (the last page in a cluster) is between fApproxUnzippedPageSize/2 and fApproxUnzippedPageSize * 1.5 in size.

Definition at line 61 of file RNTupleOptions.hxx.

◆ fApproxZippedClusterSize

std::size_t ROOT::Experimental::RNTupleWriteOptions::fApproxZippedClusterSize = 50 * 1000 * 1000
private

Approximation of the target compressed cluster size.

Definition at line 53 of file RNTupleOptions.hxx.

◆ fCompression

int ROOT::Experimental::RNTupleWriteOptions::fCompression {RCompressionSetting::EDefaults::kUseAnalysis}
private

Definition at line 50 of file RNTupleOptions.hxx.

◆ fContainerFormat

ENTupleContainerFormat ROOT::Experimental::RNTupleWriteOptions::fContainerFormat {ENTupleContainerFormat::kTFile}
private

Definition at line 51 of file RNTupleOptions.hxx.

◆ fMaxUnzippedClusterSize

std::size_t ROOT::Experimental::RNTupleWriteOptions::fMaxUnzippedClusterSize = 512 * 1024 * 1024
private

Memory limit for committing a cluster: with very high compression ratio, we need a limit on how large the I/O buffer can grow during writing.

Definition at line 56 of file RNTupleOptions.hxx.

◆ fUseBufferedWrite

bool ROOT::Experimental::RNTupleWriteOptions::fUseBufferedWrite = true
private

Definition at line 62 of file RNTupleOptions.hxx.


The documentation for this class was generated from the following files: