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/H5Bpkg.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/H5Bpkg.h')
-rw-r--r-- | src/H5Bpkg.h | 11 |
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 */ }; |