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/H5Bprivate.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/H5Bprivate.h')
-rw-r--r-- | src/H5Bprivate.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/H5Bprivate.h b/src/H5Bprivate.h index 1f7a8eb..4cf558a 100644 --- a/src/H5Bprivate.h +++ b/src/H5Bprivate.h @@ -84,6 +84,7 @@ typedef struct H5B_class_t { H5B_subid_t id; /*id as found in file*/ size_t sizeof_nkey; /*size of native (memory) key*/ size_t (*get_sizeof_rkey)(H5F_t*, const void*); /*raw key size */ + void * (*get_page)(H5F_t*, const void*); /*raw disk page for node */ herr_t (*new_node)(H5F_t*, hid_t, H5B_ins_t, void*, void*, void*, haddr_t*); int (*cmp2)(H5F_t*, hid_t, void*, void*, void*); /*compare 2 keys */ int (*cmp3)(H5F_t*, hid_t, void*, void*, void*); /*compare 3 keys */ @@ -111,6 +112,8 @@ typedef struct H5B_class_t { /* * Library prototypes. */ +H5_DLL size_t H5B_nodesize(const H5F_t *f, const H5B_class_t *type, + size_t *total_nkey_size, size_t sizeof_rkey); H5_DLL herr_t H5B_create (H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, void *udata, haddr_t *addr_p/*out*/); H5_DLL herr_t H5B_find (H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t addr, |