diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2004-02-06 15:34:01 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2004-02-06 15:34:01 (GMT) |
commit | d8cfeadd906c13421c4fe9abe1a5318a956236f6 (patch) | |
tree | 1c0c4c1f988ebd2ec44de73411bd8dcc136c6464 /src/H5Sprivate.h | |
parent | aaeecad6564fe93bb8de567220eed453f890acf4 (diff) | |
download | hdf5-d8cfeadd906c13421c4fe9abe1a5318a956236f6.zip hdf5-d8cfeadd906c13421c4fe9abe1a5318a956236f6.tar.gz hdf5-d8cfeadd906c13421c4fe9abe1a5318a956236f6.tar.bz2 |
[svn-r8158] Purpose:
Code cleanup/optimization
Description:
Query property list values once, at the beginning of the I/O routines,
instead of querying the property list values multiple (lots!) of times in
lower level routines.
Solution:
Create "property list caches" for internal library queries of the property
list values.
Platforms tested:
IBM p690 (copper) w/parallel & fphdf5
h5committest
Diffstat (limited to 'src/H5Sprivate.h')
-rw-r--r-- | src/H5Sprivate.h | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/src/H5Sprivate.h b/src/H5Sprivate.h index a734993..2fcdad7 100644 --- a/src/H5Sprivate.h +++ b/src/H5Sprivate.h @@ -128,16 +128,18 @@ typedef struct H5S_conv_t { /* Read from file to application w/o intermediate scratch buffer */ herr_t (*read)(H5F_t *f, const struct H5O_layout_t *layout, - H5P_genplist_t *dc_plist, const union H5D_storage_t *store, + const H5D_dcpl_cache_t *dcpl_cache, const union H5D_storage_t *store, size_t elmt_size, const H5S_t *file_space, - const H5S_t *mem_space, hid_t dxpl_id, void *buf/*out*/); + const H5S_t *mem_space, const H5D_dxpl_cache_t *dxpl_cache, + hid_t dxpl_id, void *buf/*out*/); /* Write directly from app buffer to file */ herr_t (*write)(H5F_t *f, struct H5O_layout_t *layout, - H5P_genplist_t *dc_plist, const union H5D_storage_t *store, + const H5D_dcpl_cache_t *dcpl_cache, const union H5D_storage_t *store, size_t elmt_size, const H5S_t *file_space, - const H5S_t *mem_space, hid_t dxpl_id, const void *buf); + const H5S_t *mem_space, const H5D_dxpl_cache_t *dxpl_cache, + hid_t dxpl_id, const void *buf); #ifdef H5S_DEBUG struct { @@ -191,27 +193,27 @@ H5_DLL herr_t H5S_select_iterate(void *buf, hid_t type_id, const H5S_t *space, H5_DLL herr_t H5S_select_fill(void *fill, size_t fill_size, const H5S_t *space, void *buf); H5_DLL herr_t H5S_select_fscat (H5F_t *f, struct H5O_layout_t *layout, - H5P_genplist_t *dc_plist, const union H5D_storage_t *store, size_t elmt_size, + const H5D_dcpl_cache_t *dcpl_cache, const union H5D_storage_t *store, size_t elmt_size, const H5S_t *file_space, H5S_sel_iter_t *file_iter, hsize_t nelmts, - hid_t dxpl_id, const void *_buf); + const H5D_dxpl_cache_t *dxpl_cache, hid_t dxpl_id, const void *_buf); H5_DLL hsize_t H5S_select_fgath (H5F_t *f, const struct H5O_layout_t *layout, - H5P_genplist_t *dc_plist, const union H5D_storage_t *store, size_t elmt_size, + const H5D_dcpl_cache_t *dcpl_cache, const union H5D_storage_t *store, size_t elmt_size, const H5S_t *file_space, H5S_sel_iter_t *file_iter, hsize_t nelmts, - hid_t dxpl_id, void *buf); + const H5D_dxpl_cache_t *dxpl_cache, hid_t dxpl_id, void *buf); H5_DLL herr_t H5S_select_mscat (const void *_tscat_buf, size_t elmt_size, const H5S_t *space, H5S_sel_iter_t *iter, hsize_t nelmts, - hid_t dxpl_id, void *_buf/*out*/); + const H5D_dxpl_cache_t *dxpl_cache, void *_buf/*out*/); H5_DLL hsize_t H5S_select_mgath (const void *_buf, size_t elmt_size, const H5S_t *space, H5S_sel_iter_t *iter, hsize_t nelmts, - hid_t dxpl_id, void *_tgath_buf/*out*/); + const H5D_dxpl_cache_t *dxpl_cache, void *_tgath_buf/*out*/); H5_DLL herr_t H5S_select_read(H5F_t *f, const struct H5O_layout_t *layout, - H5P_genplist_t *dc_plist, const union H5D_storage_t *store, size_t elmt_size, - const H5S_t *file_space, const H5S_t *mem_space, hid_t dxpl_id, - void *buf/*out*/); + const H5D_dcpl_cache_t *dcpl_cache, const union H5D_storage_t *store, size_t elmt_size, + const H5S_t *file_space, const H5S_t *mem_space, const H5D_dxpl_cache_t *dxpl_cache, + hid_t dxpl_id, void *buf/*out*/); H5_DLL herr_t H5S_select_write(H5F_t *f, struct H5O_layout_t *layout, - H5P_genplist_t *dc_plist, const union H5D_storage_t *store, size_t elmt_size, - const H5S_t *file_space, const H5S_t *mem_space, hid_t dxpl_id, - const void *buf/*out*/); + const H5D_dcpl_cache_t *dcpl_cache, const union H5D_storage_t *store, size_t elmt_size, + const H5S_t *file_space, const H5S_t *mem_space, const H5D_dxpl_cache_t *dxpl_cache, + hid_t dxpl_id, const void *buf/*out*/); H5_DLL htri_t H5S_select_valid(const H5S_t *space); H5_DLL hssize_t H5S_get_select_npoints(const H5S_t *space); H5_DLL herr_t H5S_get_select_bounds(const H5S_t *space, hssize_t *start, hssize_t *end); |