summaryrefslogtreecommitdiffstats
path: root/src/H5Bpkg.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2004-07-07 21:23:45 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2004-07-07 21:23:45 (GMT)
commit585d31b7cb6cacfec86f68fc3dd66c0e67aafbd8 (patch)
treec2eb9866df550efc0fdba768889f9faacc0257f4 /src/H5Bpkg.h
parentf73369b20c84fcab5de56cf3224ae3dd9c638912 (diff)
downloadhdf5-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/H5Bpkg.h')
-rw-r--r--src/H5Bpkg.h11
1 files changed, 2 insertions, 9 deletions
diff --git a/src/H5Bpkg.h b/src/H5Bpkg.h
index 578de48..67b49db 100644
--- a/src/H5Bpkg.h
+++ b/src/H5Bpkg.h
@@ -43,12 +43,6 @@
/*
* The B-tree node as stored in memory...
*/
-typedef struct H5B_key_t {
- hbool_t dirty; /*native key is more recent than raw key */
- uint8_t *rkey; /*ptr into node->page for raw key */
- void *nkey; /*null or ptr into node->native for key */
-} H5B_key_t;
-
struct H5B_t {
H5AC_info_t cache_info; /* Information for H5AC cache functions, _must_ be */
/* first field in structure */
@@ -56,14 +50,13 @@ struct H5B_t {
size_t sizeof_node; /*size of raw (disk) node */
size_t sizeof_rkey; /*size of raw (disk) key */
size_t total_native_keysize; /*size of native keys */
- unsigned ndirty; /*num child ptrs to emit */
unsigned level; /*node level */
haddr_t left; /*address of left sibling */
haddr_t right; /*address of right sibling */
unsigned nchildren; /*number of child pointers */
- uint8_t *page; /*disk page */
+ uint8_t *raw_page; /*disk page (shared) */
uint8_t *native; /*array of keys in native format */
- H5B_key_t *key; /*2k+1 key entries */
+ void **nkey; /*2k+1 key entries */
haddr_t *child; /*2k child pointers */
};