diff options
author | Vailin Choi <vchoi@jam.ad.hdfgroup.org> | 2019-02-05 04:30:48 (GMT) |
---|---|---|
committer | Vailin Choi <vchoi@jam.ad.hdfgroup.org> | 2019-02-05 04:30:48 (GMT) |
commit | 7f718e9ea232a84ec2be1b52f25f152de775fdac (patch) | |
tree | 0d2fdf5a717cf0a4ca8781a40e0fa467ddd88e7b /src/H5Cprivate.h | |
parent | 08001e2f3f17b17889fae655a6ed6cef7747d729 (diff) | |
download | hdf5-7f718e9ea232a84ec2be1b52f25f152de775fdac.zip hdf5-7f718e9ea232a84ec2be1b52f25f152de775fdac.tar.gz hdf5-7f718e9ea232a84ec2be1b52f25f152de775fdac.tar.bz2 |
There is performance issue when closing an object. The slow down is due to the search of
the "tag_list" to find out the "corked" status of an object.
The fix:
(1) Add a counter "num_objs_corked" in the cache structure to track the number
of "corked" objects.
(2) Skip the search of "tag_list" if the counter is zero i.e. no "corked" objects.
Diffstat (limited to 'src/H5Cprivate.h')
-rw-r--r-- | src/H5Cprivate.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/H5Cprivate.h b/src/H5Cprivate.h index c39c1df..ee2d033 100644 --- a/src/H5Cprivate.h +++ b/src/H5Cprivate.h @@ -2301,6 +2301,7 @@ H5_DLL herr_t H5C_validate_resize_config(H5C_auto_size_ctl_t *config_ptr, unsigned int tests); H5_DLL herr_t H5C_ignore_tags(H5C_t *cache_ptr); H5_DLL hbool_t H5C_get_ignore_tags(const H5C_t *cache_ptr); +H5_DLL hbool_t H5C_get_num_objs_corked(const H5C_t *cache_ptr); H5_DLL herr_t H5C_retag_entries(H5C_t * cache_ptr, haddr_t src_tag, haddr_t dest_tag); H5_DLL herr_t H5C_cork(H5C_t *cache_ptr, haddr_t obj_addr, unsigned action, hbool_t *corked); H5_DLL herr_t H5C_get_entry_ring(const H5F_t *f, haddr_t addr, H5C_ring_t *ring); |