Sets the minimum metadata block size
H5P_SET_META_BLOCK_SIZE ( fapl_id, size )
herr_t H5Pset_meta_block_size(
hid_t fapl_id,
hsize_t size
)
Fortran90 Interface: h5pset_meta_block_size_f
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
hid_t fapl_id | IN: File access property list identifier |
hsize_t size | IN: Minimum size, in bytes, of metadata block allocations |
H5P_SET_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.
Returns a non-negative value if successful. Otherwise returns a negative value.
History:
Release | Change |
---|
1.4.0 | Function introduced in this release. |
--- Last Modified: June 10, 2019 | 03:25 PM