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 | GetApproxUnzippedPageSize () const |
std::size_t | GetApproxZippedClusterSize () const |
int | GetCompression () const |
bool | GetHasSmallClusters () const |
std::size_t | GetMaxUnzippedClusterSize () const |
bool | GetUseBufferedWrite () const |
EImplicitMT | GetUseImplicitMT () const |
void | SetApproxUnzippedPageSize (std::size_t val) |
void | SetApproxZippedClusterSize (std::size_t val) |
void | SetCompression (int val) |
void | SetCompression (RCompressionSetting::EAlgorithm::EValues algorithm, int compressionLevel) |
void | SetHasSmallClusters (bool val) |
void | SetMaxUnzippedClusterSize (std::size_t val) |
void | SetUseBufferedWrite (bool val) |
void | SetUseImplicitMT (EImplicitMT val) |
Private Attributes | |
uint32_t | fMaxCageSize = 16 * RNTupleWriteOptions::fApproxUnzippedPageSize |
The maximum cage size is set to the equivalent of 16 uncompressed pages - 1MiB 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 | kMaxSmallClusterSize = 512 * 1024 * 1024 |
A maximum size of 512MB still allows for a vector of bool to be stored in a small cluster. | |
Protected Attributes inherited from ROOT::Experimental::RNTupleWriteOptions | |
std::size_t | fApproxUnzippedPageSize = 64 * 1024 |
Should be just large enough so that the compression ratio does not benefit much more from larger pages. | |
std::size_t | fApproxZippedClusterSize = 50 * 1000 * 1000 |
Approximation of the target compressed cluster size. | |
int | fCompression {RCompressionSetting::EDefaults::kUseGeneralPurpose} |
bool | fHasSmallClusters = false |
If set, 64bit index columns are replaced by 32bit index columns. | |
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. | |
bool | fUseBufferedWrite = true |
EImplicitMT | fUseImplicitMT = EImplicitMT::kDefault |
#include <ROOT/RNTupleWriteOptionsDaos.hxx>
|
overridedefault |
|
inlineoverridevirtual |
Reimplemented from ROOT::Experimental::RNTupleWriteOptions.
Definition at line 45 of file RNTupleWriteOptionsDaos.hxx.
|
inline |
Definition at line 56 of file RNTupleWriteOptionsDaos.hxx.
|
inline |
Definition at line 50 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 60 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 54 of file RNTupleWriteOptionsDaos.hxx.
|
private |
The maximum cage size is set to the equivalent of 16 uncompressed pages - 1MiB by default.
Empirically, such a cage size yields acceptable results in throughput and page granularity for most use cases. A fMaxCageSize
of 0 disables the caging mechanism.
Definition at line 41 of file RNTupleWriteOptionsDaos.hxx.
|
private |
Definition at line 37 of file RNTupleWriteOptionsDaos.hxx.