Last modified: 14 April 2010
Name: H5Pset_sieve_buf_size
Signature:
herr_t H5Pset_sieve_buf_size( hid_t fapl_id, size_t size )

Purpose:
Sets the maximum size of the data sieve buffer.

Description:
H5Pset_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.

Parameters:

Returns:
Returns a non-negative value if successful. Otherwise returns a negative value.

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 

History: