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/H5Fprivate.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/H5Fprivate.h')
-rw-r--r-- | src/H5Fprivate.h | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/src/H5Fprivate.h b/src/H5Fprivate.h index 3b2176c..addb247 100644 --- a/src/H5Fprivate.h +++ b/src/H5Fprivate.h @@ -379,6 +379,8 @@ struct H5O_fill_t; struct H5O_layout_t; struct H5P_genplist_t; struct H5S_t; +struct H5D_dxpl_cache_t; +struct H5D_dcpl_cache_t; /* Private functions, not part of the publicly documented API */ H5_DLL herr_t H5F_init(void); @@ -407,25 +409,25 @@ H5_DLL herr_t H5F_block_write(const H5F_t *f, H5FD_mem_t type, haddr_t addr, size_t size, hid_t dxpl_id, const void *buf); /* Functions that operate on byte sequences */ -H5_DLL herr_t H5F_seq_read(H5F_t *f, hid_t dxpl_id, - const struct H5O_layout_t *layout, - struct H5P_genplist_t *dc_plist, const union H5D_storage_t *store, - size_t seq_len, - hsize_t file_offset, void *_buf/*out*/); -H5_DLL herr_t H5F_seq_write (H5F_t *f, hid_t dxpl_id, - struct H5O_layout_t *layout, - struct H5P_genplist_t *dc_plist, const union H5D_storage_t *store, - size_t seq_len, - hsize_t file_offset, const void *_buf); +H5_DLL herr_t H5F_seq_read(H5F_t *f, const struct H5D_dxpl_cache_t *dxpl_cache, + hid_t dxpl_id, const struct H5O_layout_t *layout, + const struct H5D_dcpl_cache_t *dcpl_cache, const union H5D_storage_t *store, + size_t seq_len, hsize_t file_offset, void *_buf/*out*/); +H5_DLL herr_t H5F_seq_write (H5F_t *f, const struct H5D_dxpl_cache_t *dxpl_cache, + hid_t dxpl_id, struct H5O_layout_t *layout, + const struct H5D_dcpl_cache_t *dcpl_cache, const union H5D_storage_t *store, + size_t seq_len, hsize_t file_offset, const void *_buf); /* Functions that operate on byte sequences in memory and on disk */ -H5_DLL ssize_t H5F_seq_readvv(H5F_t *f, hid_t dxpl_id, const struct H5O_layout_t *layout, - struct H5P_genplist_t *dc_plist, const union H5D_storage_t *store, +H5_DLL ssize_t H5F_seq_readvv(H5F_t *f, const struct H5D_dxpl_cache_t *dxpl_cache, + hid_t dxpl_id, const struct H5O_layout_t *layout, + const struct H5D_dcpl_cache_t *dcpl_cache, const union H5D_storage_t *store, size_t dset_max_nseq, size_t *dset_curr_seq, size_t dset_len_arr[], hsize_t dset_offset_arr[], size_t mem_max_nseq, size_t *mem_curr_seq, size_t mem_len_arr[], hsize_t mem_offset_arr[], void *buf); -H5_DLL ssize_t H5F_seq_writevv(H5F_t *f, hid_t dxpl_id, struct H5O_layout_t *layout, - struct H5P_genplist_t *dc_plist, const union H5D_storage_t *store, +H5_DLL ssize_t H5F_seq_writevv(H5F_t *f, const struct H5D_dxpl_cache_t *dxpl_cache, + hid_t dxpl_id, struct H5O_layout_t *layout, + const struct H5D_dcpl_cache_t *dcpl_cache, const union H5D_storage_t *store, size_t dset_max_nseq, size_t *dset_curr_seq, size_t dset_len_arr[], hsize_t dset_offset_arr[], size_t mem_max_nseq, size_t *mem_curr_seq, size_t mem_len_arr[], hsize_t mem_offset_arr[], const void *buf); @@ -448,9 +450,11 @@ H5_DLL herr_t H5F_istore_allocate (H5F_t *f, hid_t dxpl_id, H5_DLL hsize_t H5F_istore_allocated(H5F_t *f, hid_t dxpl_id, unsigned ndims, haddr_t addr); H5_DLL herr_t H5F_istore_dump_btree(H5F_t *f, hid_t dxpl_id, FILE *stream, unsigned ndims, haddr_t addr); -H5_DLL herr_t H5F_istore_prune_by_extent( H5F_t *f, hid_t dxpl_id, +H5_DLL herr_t H5F_istore_prune_by_extent( H5F_t *f, + const struct H5D_dxpl_cache_t *dxpl_cache, hid_t dxpl_id, const struct H5O_layout_t *layout, const struct H5S_t *space); -H5_DLL herr_t H5F_istore_initialize_by_extent( H5F_t *f, hid_t dxpl_id, +H5_DLL herr_t H5F_istore_initialize_by_extent( H5F_t *f, + const struct H5D_dxpl_cache_t *dxpl_cache, hid_t dxpl_id, const struct H5O_layout_t *layout, struct H5P_genplist_t *dc_plist, const struct H5S_t *space ); H5_DLL herr_t H5F_istore_delete(H5F_t *f, hid_t dxpl_id, |