Sets the maximum size of the data sieve buffer
Procedure:
H5P_SET_SIEVE_BUF_SIZE ( fapl_id, size )
Signature:
herr_t H5Pset_sieve_buf_size(
hid_t fapl_id,
size_t size
)
Fortran90 Interface: h5pset_sieve_buf_size_f
SUBROUTINE h5pset_sieve_buf_size_f(plist_id, size, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: plist_id ! File access property list
! identifier
INTEGER(SIZE_T), INTENT(IN) :: size ! Sieve buffer size
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
END SUBROUTINE h5pset_sieve_buf_size_f
Parameters:
hid_t fapl_id | IN: File access property list identifier |
size_t size | IN: Maximum size, in bytes, of data sieve buffer |
Description:
H5P_SET_SIEVE_BUF_SIZE sets size
, the maximum size in bytes of the data sieve buffer, which is used by file drivers that are capable of using data sieving.
The data sieve buffer is used when performing I/O on datasets in the file. Using a buffer which is large enough to hold several pieces of the dataset being read in for hyperslab selections boosts performance by quite a bit.
The default value is set to 64KB, indicating that file I/O for raw data reads and writes will occur in at least 64KB blocks. Setting the value to 0 with this API function will turn off the data sieving, even if the VFL driver attempts to use that strategy.
Internally, the library checks the storage sizes of the datasets in the file. It picks the smaller one between the size from the file access property and the size of the dataset to allocate the sieve buffer for the dataset in order to save memory usage.
Returns:
Returns a non-negative value if successful. Otherwise returns a negative value.
Example:
History:
Release | Change |
---|
1.6.0 | The size parameter has changed from type hsize_t to size_t. |
1.4.0 | Function introduced in this release. |
--- Last Modified: July 23, 2019 | 08:14 AM