H5Pset_meta_block_size(
hid_t fapl_id,
hsize_t size
)
H5Pset_meta_block_size sets the
minimum size, in bytes, of metadata block allocations when
H5FD_FEAT_AGGREGATE_METADATA is set by a VFL driver.
Each raw metadata block is initially allocated to be of the given size. Specific metadata objects (e.g., object headers, local heaps, B-trees) are then sub-allocated from this block.
The default setting is 2048 bytes, meaning that the library
will attempt to aggregate metadata in at least 2K blocks in the file.
Setting the value to 0 (zero) with this function
will turn off metadata aggregation, even if the VFL driver attempts
to use the metadata aggregation strategy.
Metadata aggregation reduces the number of small data objects in the file that would otherwise be required for metadata. The aggregated block of metadata is usually written in a single write action and always in a contiguous block, potentially significantly improving library and application performance.
hid_t fapl_id |
IN: File access property list identifier. |
hsize_t size |
IN: Minimum size, in bytes, of metadata block allocations. |
SUBROUTINE h5pset_meta_block_size_f(plist_id, size, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: plist_id ! File access property list
! identifier
INTEGER(HSIZE_T), INTENT(IN) :: size ! Metadata block size
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
END SUBROUTINE h5pset_meta_block_size_f
| Release | C |
| 1.4.0 | Function introduced in this release. |