summaryrefslogtreecommitdiffstats
path: root/src/H5ACprivate.h
diff options
context:
space:
mode:
authorJohn Mainzer <mainzer@hdfgroup.org>2004-08-05 18:13:49 (GMT)
committerJohn Mainzer <mainzer@hdfgroup.org>2004-08-05 18:13:49 (GMT)
commit8265779dc0cf1612f0d19b22956c30e9c851826c (patch)
treedb00fea189bb86fc83f4cde792a03f60bbf2ab5d /src/H5ACprivate.h
parent19ecb5486a742fc622d3ec2591778ab4a6b1b6ab (diff)
downloadhdf5-8265779dc0cf1612f0d19b22956c30e9c851826c.zip
hdf5-8265779dc0cf1612f0d19b22956c30e9c851826c.tar.gz
hdf5-8265779dc0cf1612f0d19b22956c30e9c851826c.tar.bz2
[svn-r9022] Purpose: Optimization of the cache code in H5C.
Description: Cache was running too slowly. Solution: Added a hash table for indexing. Retained the tree, but only for dirty entries. As we need to flush dirty entries in increasing address order, this is sufficient. Updated statistics collection code for the above. Converted a number of local functions into macros to avoid the function call overhead. Added code to disable the clean and dirty LRU lists in serial mode. Updated test code to account for the above changes. Platforms tested: h5committested + serial, parallel, and fp on Eirene. Misc. update:
Diffstat (limited to 'src/H5ACprivate.h')
-rw-r--r--src/H5ACprivate.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/H5ACprivate.h b/src/H5ACprivate.h
index 6acc3e3..bf1cffe 100644
--- a/src/H5ACprivate.h
+++ b/src/H5ACprivate.h
@@ -46,6 +46,25 @@
#define H5AC_OHDR_ID 4 /*object header */
#define H5AC_NTYPES 5
+/* H5AC_DUMP_STATS_ON_CLOSE should always be FALSE when
+ * H5C_COLLECT_CACHE_STATS is FALSE.
+ *
+ * When H5C_COLLECT_CACHE_STATS is TRUE, H5AC_DUMP_STATS_ON_CLOSE must
+ * be FALSE for "make check" to succeed, but may be set to TRUE at other
+ * times for debugging purposes.
+ *
+ * Hence the following, somewhat odd set of #defines.
+ */
+#if H5C_COLLECT_CACHE_STATS
+
+#define H5AC_DUMP_STATS_ON_CLOSE 0
+
+#else /* H5C_COLLECT_CACHE_STATS */
+
+#define H5AC_DUMP_STATS_ON_CLOSE 0
+
+#endif /* H5C_COLLECT_CACHE_STATS */
+
/*
* Class methods pertaining to caching. Each type of cached object will
* have a constant variable with permanent life-span that describes how