diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2004-07-07 21:23:45 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2004-07-07 21:23:45 (GMT) |
commit | 585d31b7cb6cacfec86f68fc3dd66c0e67aafbd8 (patch) | |
tree | c2eb9866df550efc0fdba768889f9faacc0257f4 /src/H5Fprivate.h | |
parent | f73369b20c84fcab5de56cf3224ae3dd9c638912 (diff) | |
download | hdf5-585d31b7cb6cacfec86f68fc3dd66c0e67aafbd8.zip hdf5-585d31b7cb6cacfec86f68fc3dd66c0e67aafbd8.tar.gz hdf5-585d31b7cb6cacfec86f68fc3dd66c0e67aafbd8.tar.bz2 |
[svn-r8823] Purpose:
Code optimization
Description:
Since the raw B-tree nodes are the same size and only used when reading in
or writing out a B-tree node, move raw B-tree node buffer from being per node
to a single node that is shared among all B-tree nodes of a particular tree,
freeing up a lot of space and eliminating lots of memory copies, etc.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.10 (sleipnir) w/parallel
Too minor to require h5committest
Diffstat (limited to 'src/H5Fprivate.h')
-rw-r--r-- | src/H5Fprivate.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/H5Fprivate.h b/src/H5Fprivate.h index 6950178..aace023 100644 --- a/src/H5Fprivate.h +++ b/src/H5Fprivate.h @@ -210,6 +210,8 @@ typedef struct H5F_t H5F_t; #define H5F_RDCC_W0(F) ((F)->shared->rdcc_w0) /* Check for file driver feature enabled */ #define H5F_HAS_FEATURE(F,FL) ((F)->shared->lf->feature_flags&(FL)) +/* B-tree node raw page */ +#define H5F_RAW_PAGE(F) ((F)->shared->raw_page) #else /* H5F_PACKAGE */ #define H5F_SIZEOF_ADDR(F) (H5F_sizeof_addr(F)) #define H5F_SIZEOF_SIZE(F) (H5F_sizeof_size(F)) @@ -219,6 +221,7 @@ typedef struct H5F_t H5F_t; #define H5F_RDCC_NBYTES(F) (H5F_rdcc_nbytes(F)) #define H5F_RDCC_W0(F) (H5F_rdcc_w0(F)) #define H5F_HAS_FEATURE(F,FL) (H5F_has_feature(F,FL)) +#define H5F_RAW_PAGE(F) (H5F_raw_page(F)) #endif /* H5F_PACKAGE */ @@ -414,6 +417,7 @@ H5_DLL hbool_t H5F_has_feature(const H5F_t *f, unsigned feature); H5_DLL size_t H5F_rdcc_nbytes(const H5F_t *f); H5_DLL size_t H5F_rdcc_nelmts(const H5F_t *f); H5_DLL double H5F_rdcc_w0(const H5F_t *f); +H5_DLL void *H5F_raw_page(const H5F_t *f); /* Functions that operate on blocks of bytes wrt super block */ H5_DLL herr_t H5F_block_read(const H5F_t *f, H5FD_mem_t type, haddr_t addr, |