diff --git a/release_docs/CHANGELOG.md b/release_docs/CHANGELOG.md index 192a0e4d0ad..897ab44555f 100644 --- a/release_docs/CHANGELOG.md +++ b/release_docs/CHANGELOG.md @@ -25,8 +25,8 @@ For releases prior to version 2.0.0, please see the release.txt file and for mor ## Performance Enhancements: -- 30% faster opening and 25% faster closing of virtual datasets. -- Reduced memory overhead via shared name strings and optimized spatial search algorithms for virtual datasets. +- [30% faster opening](https://github.com/HDFGroup/hdf5/blob/develop/release_docs/CHANGELOG.md#layoutcopydelay) and [25% faster closing](https://github.com/HDFGroup/hdf5/blob/develop/release_docs/CHANGELOG.md#fileformat) of virtual datasets. +- [Reduced memory overhead](https://github.com/HDFGroup/hdf5/blob/develop/release_docs/CHANGELOG.md#fileformat) via shared name strings and optimized spatial search algorithms for virtual datasets. ## Significant Advancements: @@ -212,6 +212,8 @@ Calling `H5Pset_fapl_ros3()` now has the side effect of setting the page buffer The Virtual Dataset Global Heap Block format has been updated to version 1 to support shared string storage for source filenames and dataset names, reducing file size when multiple mappings reference the same sources. This new format is only used when the HDF5 library version bounds lower bound is set to 2.0 or later. +Use of the shared strings option for Virtual Datasets reduces memory overhead and optimizes dataset close operations. + ### The `H5Dread_chunk()` signature has changed A new parameter, `nalloc`, has been added to `H5Dread_chunk()`. This parameter contains a pointer to a variable that holds the size of the buffer buf. If *nalloc is not large enough to hold the entire chunk being read, no data is read. On exit, the value of this variable is set to the buffer size needed to read the chunk. @@ -439,6 +441,12 @@ Simple example programs showing how to use complex number datatypes have been ad Similar to the above. Setting the connector on a non-FAPL had no effect on library behavior, and the connector ID and information could not be read back from that plist later. +### Optimized Virtual Dataset opens by delaying layout copy + + On dataset open, the dataset performed an internal copy of the layout in order to populate its internal DCPL. For virtual datasets, this added a significant amount of overhead to the open operation. + + This layout copy is now delayed until either a user requests the DCPL, or until the start of an operation that needs to read the layout from the DCPL. + ## Parallel Library ## Fortran Library