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:

hid_t `fapl_id` | IN: File access property list identifier.
size_t `size` | IN: Maximum size, in bytes, of data sieve buffer.

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:

Release | C
1.6.0 | The `size` parameter has changed from type hsize_t to size_t.
1.4.0 | Function introduced in this release.