H5Pset_small_data_block_size
(hid_t fapl_id
,
hsize_t size
)
H5Pset_small_data_block_size
reserves blocks of
size
bytes for the contiguous storage of the raw data
portion of small datasets.
The HDF5 library then writes the raw data from small datasets
to this reserved space, thus reducing unnecessary discontinuities
within blocks of meta data and improving I/O performance.
A small data block is actually allocated the first time a qualifying small dataset is written to the file. Space for the raw data portion of this small dataset is suballocated within the small data block. The raw data from each subsequent small dataset is also written to the small data block until it is filled; additional small data blocks are allocated as required.
The HDF5 library employs an algorithm that determines whether
I/O performance is likely to benefit from the use of this mechanism
with each dataset as storage space is allocated in the file.
A larger size
will result in this mechanism being
employed with larger datasets.
The small data block size is set as an allocation property in the
file access property list identified by fapl_id
.
Setting size
to zero (0
) disables the
small data block mechanism.
hid_t fapl_id |
IN: File access property list identifier. |
hsize_t size |
IN: Maximum size, in bytes, of the small data block.
The default size is 2048 . |
SUBROUTINE h5pset_small_data_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 ! Small raw data block size INTEGER, INTENT(OUT) :: hdferr ! Error code ! 0 on success and -1 on failure END SUBROUTINE h5pset_small_data_block_size_f
Release | C |
1.4.4 | Function introduced in this release. |