summaryrefslogtreecommitdiffstats
path: root/src/H5Bprivate.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2004-07-13 17:44:01 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2004-07-13 17:44:01 (GMT)
commit0a8d8c54b249b81c58e4ab7d6481d737e2857c7a (patch)
tree5e669d387686762c7779aee2200ec799ebf09ad3 /src/H5Bprivate.h
parent035a60c6f7e8397c79bd05179ff514ecc7b60779 (diff)
downloadhdf5-0a8d8c54b249b81c58e4ab7d6481d737e2857c7a.zip
hdf5-0a8d8c54b249b81c58e4ab7d6481d737e2857c7a.tar.gz
hdf5-0a8d8c54b249b81c58e4ab7d6481d737e2857c7a.tar.bz2
[svn-r8865] Purpose:
Code optimization Description: Re-work the insertion of a new child into an existing node, to exploit some speedups for adding the rightmost child, since this is a very common case when appending records to an unlimited size dataset. Also, hoist the checks for the tree's 'K' value into a field in the shared information about the tree, instead of re-calculating them all the time. 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.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/H5Bprivate.h b/src/H5Bprivate.h
index 2dfd0e1..961c7d9 100644
--- a/src/H5Bprivate.h
+++ b/src/H5Bprivate.h
@@ -78,6 +78,7 @@ typedef struct H5B_t H5B_t;
*/
typedef struct H5B_shared_t {
const struct H5B_class_t *type; /* Type of tree */
+ unsigned two_k; /* 2*"K" value for tree's nodes */
size_t sizeof_rkey; /* Size of raw (disk) key */
size_t sizeof_rnode; /* Size of raw (disk) node */
size_t sizeof_keys; /* Size of native (memory) key node */
@@ -125,8 +126,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 size_t H5B_nodesize(const H5F_t *f, const H5B_shared_t *shared,
+ size_t *total_nkey_size);
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,