diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2004-07-07 21:25:33 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2004-07-07 21:25:33 (GMT) |
commit | 8d7e8124f1d90afae3262cf8742e2b90cf96251b (patch) | |
tree | 772318ce46046065aa2d2590c96c73218a7f28bd /src/H5Bprivate.h | |
parent | 2afbcb2f0e536dfdd00c405278154ea4464d866b (diff) | |
download | hdf5-8d7e8124f1d90afae3262cf8742e2b90cf96251b.zip hdf5-8d7e8124f1d90afae3262cf8742e2b90cf96251b.tar.gz hdf5-8d7e8124f1d90afae3262cf8742e2b90cf96251b.tar.bz2 |
[svn-r8824] 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, |