DAOS-specific user-tunable settings for storing ntuples.
Definition at line 36 of file RNTupleWriteOptionsDaos.hxx.
Public Member Functions | |
~RNTupleWriteOptionsDaos () override=default | |
std::unique_ptr< RNTupleWriteOptions > | Clone () const override |
uint32_t | GetMaxCageSize () const |
const std::string & | GetObjectClass () const |
void | SetMaxCageSize (uint32_t cageSz) |
Set the upper bound for page concatenation into cages, in bytes. | |
void | SetObjectClass (const std::string &val) |
Set the object class used to generate OIDs that relate to user data. | |
Public Member Functions inherited from ROOT::Experimental::RNTupleWriteOptions | |
virtual | ~RNTupleWriteOptions ()=default |
std::size_t | GetApproxZippedClusterSize () const |
int | GetCompression () const |
bool | GetEnablePageChecksums () const |
std::size_t | GetInitialNElementsPerPage () const |
std::uint64_t | GetMaxKeySize () const |
std::size_t | GetMaxUnzippedClusterSize () const |
std::size_t | GetMaxUnzippedPageSize () const |
std::size_t | GetPageBufferBudget () const |
bool | GetUseBufferedWrite () const |
bool | GetUseDirectIO () const |
EImplicitMT | GetUseImplicitMT () const |
std::size_t | GetWriteBufferSize () const |
void | SetApproxZippedClusterSize (std::size_t val) |
void | SetCompression (int val) |
void | SetCompression (RCompressionSetting::EAlgorithm::EValues algorithm, int compressionLevel) |
void | SetEnablePageChecksums (bool val) |
Note that turning off page checksums will also turn off the same page merging optimization (see tuning.md) | |
void | SetInitialNElementsPerPage (std::size_t val) |
void | SetMaxUnzippedClusterSize (std::size_t val) |
void | SetMaxUnzippedPageSize (std::size_t val) |
void | SetPageBufferBudget (std::size_t val) |
void | SetUseBufferedWrite (bool val) |
void | SetUseDirectIO (bool val) |
void | SetUseImplicitMT (EImplicitMT val) |
void | SetWriteBufferSize (std::size_t val) |
Private Attributes | |
uint32_t | fMaxCageSize = 16 * RNTupleWriteOptions::fMaxUnzippedPageSize |
The maximum cage size is set to the equivalent of 16 uncompressed pages - 16MiB by default. | |
std::string | fObjectClass {"SX"} |
Additional Inherited Members | |
Public Types inherited from ROOT::Experimental::RNTupleWriteOptions | |
enum class | EImplicitMT { kOff , kDefault } |
Static Public Attributes inherited from ROOT::Experimental::RNTupleWriteOptions | |
static constexpr std::uint64_t | kDefaultMaxKeySize = 0x4000'0000 |
Protected Attributes inherited from ROOT::Experimental::RNTupleWriteOptions | |
std::size_t | fApproxZippedClusterSize = 100 * 1000 * 1000 |
Approximation of the target compressed cluster size. | |
int | fCompression {RCompressionSetting::EDefaults::kUseGeneralPurpose} |
bool | fEnablePageChecksums = true |
If set, checksums will be calculated and written for every page. | |
std::size_t | fInitialNElementsPerPage = 64 |
Initially, columns start with a page large enough to hold the given number of elements. | |
std::uint64_t | fMaxKeySize = kDefaultMaxKeySize |
Specifies the max size of a payload storeable into a single TKey. | |
std::size_t | fMaxUnzippedClusterSize = 1024 * 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. | |
std::size_t | fMaxUnzippedPageSize = 1024 * 1024 |
Pages can grow only to the given limit in bytes. | |
std::size_t | fPageBufferBudget = 0 |
The maximum size that the sum of all page buffers used for writing into a persistent sink are allowed to use. | |
bool | fUseBufferedWrite = true |
Whether to use buffered writing (with RPageSinkBuf). | |
bool | fUseDirectIO = false |
Whether to use Direct I/O for writing. | |
EImplicitMT | fUseImplicitMT = EImplicitMT::kDefault |
Whether to use implicit multi-threading to compress pages. Only has an effect if buffered writing is turned on. | |
std::size_t | fWriteBufferSize = 4 * 1024 * 1024 |
Buffer size to use for writing to files, must be a multiple of 4096 bytes. | |
#include <ROOT/RNTupleWriteOptionsDaos.hxx>
|
overridedefault |
|
inlineoverridevirtual |
Reimplemented from ROOT::Experimental::RNTupleWriteOptions.
Definition at line 44 of file RNTupleWriteOptionsDaos.hxx.
|
inline |
Definition at line 55 of file RNTupleWriteOptionsDaos.hxx.
|
inline |
Definition at line 49 of file RNTupleWriteOptionsDaos.hxx.
|
inline |
Set the upper bound for page concatenation into cages, in bytes.
It is assumed that cage size will be no smaller than the approximate uncompressed page size. To disable page concatenation, set this value to 0.
Definition at line 59 of file RNTupleWriteOptionsDaos.hxx.
|
inline |
Set the object class used to generate OIDs that relate to user data.
Any OC_xxx
constant defined in daos_obj_class.h
may be used here without the OC_ prefix.
Definition at line 53 of file RNTupleWriteOptionsDaos.hxx.
|
private |
The maximum cage size is set to the equivalent of 16 uncompressed pages - 16MiB by default.
A fMaxCageSize
of 0 disables the caging mechanism.
Definition at line 40 of file RNTupleWriteOptionsDaos.hxx.
|
private |
Definition at line 37 of file RNTupleWriteOptionsDaos.hxx.