diff options
author | Robb Matzke <matzke@llnl.gov> | 1998-09-24 15:51:05 (GMT) |
---|---|---|
committer | Robb Matzke <matzke@llnl.gov> | 1998-09-24 15:51:05 (GMT) |
commit | 311e4c9ebfbea0be881586df16a8a411bb7fc9f8 (patch) | |
tree | e92cf9dde45481da9a6070ce0926a1d279538201 /src/H5Fprivate.h | |
parent | f180bc993f45bdb5d3a46abeab9e1378e6f210da (diff) | |
download | hdf5-311e4c9ebfbea0be881586df16a8a411bb7fc9f8.zip hdf5-311e4c9ebfbea0be881586df16a8a411bb7fc9f8.tar.gz hdf5-311e4c9ebfbea0be881586df16a8a411bb7fc9f8.tar.bz2 |
[svn-r720] Changes since 19980922
----------------------
./src/H5F.c
./src/H5Fprivate.h
./src/H5P.c
./src/H5Ppublic.h
./test/chunk.c
./test/dsets.c
The number of slots in the raw data cache can be queried or
set with H5Pget/set_cache(), which now take an extra argument.
The default number of slots is 521 and the default maximum
size is 1MB.
./src/H5Fistore.c
./src/H5Fprivate.h
Finished optimizations. The cache is now a hash and a linked
list instead of an array. The cpu time on my machine for
H5F_istore_lock() has been cut by 60% and H5F_istore_unlock() by
35%.
Diffstat (limited to 'src/H5Fprivate.h')
-rw-r--r-- | src/H5Fprivate.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/H5Fprivate.h b/src/H5Fprivate.h index cf92283..6e80fa0 100644 --- a/src/H5Fprivate.h +++ b/src/H5Fprivate.h @@ -239,7 +239,8 @@ typedef struct H5F_create_t { * File-access property list. */ typedef struct H5F_access_t { - intn mdc_nelmts; /* Size of meta data cache (nelmts) */ + intn mdc_nelmts; /* Size of meta data cache (elements) */ + intn rdcc_nelmts; /* Size of raw data chunk cache (elmts) */ size_t rdcc_nbytes; /* Size of raw data chunk cache (bytes) */ double rdcc_w0; /* Preempt read chunks first? [0.0..1.0]*/ hsize_t threshold; /* Threshold for alignment */ @@ -419,10 +420,10 @@ typedef struct H5F_rdcc_t { uintn nflushes;/* Number of cache flushes */ size_t nbytes; /* Current cached raw data in bytes */ intn nslots; /* Number of chunk slots allocated */ -#ifndef H5F_RDCC_NEW + struct H5F_rdcc_ent_t *head; /* Head of doubly linked list */ + struct H5F_rdcc_ent_t *tail; /* Tail of doubly linked list */ intn nused; /* Number of chunk slots in use */ -#endif - struct H5F_rdcc_ent_t *slot; /* Chunk slots, each points to a chunk */ + struct H5F_rdcc_ent_t **slot; /* Chunk slots, each points to a chunk*/ } H5F_rdcc_t; /* |