summaryrefslogtreecommitdiffstats
path: root/doc/html/TechNotes
diff options
context:
space:
mode:
authorcvs2svn <no_author@cvs2svn>2003-09-25 15:14:51 (GMT)
committercvs2svn <no_author@cvs2svn>2003-09-25 15:14:51 (GMT)
commit5234dd7fd955e1adbbdf3459f7883318b1c1a159 (patch)
tree0c759297421d5cac0a76a75fa88af08421c8a330 /doc/html/TechNotes
parent645b7cae4f6de75c3c5203b1a58e46cd8b15d6b6 (diff)
downloadhdf5-5234dd7fd955e1adbbdf3459f7883318b1c1a159.zip
hdf5-5234dd7fd955e1adbbdf3459f7883318b1c1a159.tar.gz
hdf5-5234dd7fd955e1adbbdf3459f7883318b1c1a159.tar.bz2
[svn-r7511] This commit was manufactured by cvs2svn to create branch 'hdf5_1_6'.
Diffstat (limited to 'doc/html/TechNotes')
-rw-r--r--doc/html/TechNotes/Basic_perform.html75
1 files changed, 75 insertions, 0 deletions
diff --git a/doc/html/TechNotes/Basic_perform.html b/doc/html/TechNotes/Basic_perform.html
new file mode 100644
index 0000000..2a622fc
--- /dev/null
+++ b/doc/html/TechNotes/Basic_perform.html
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+ <head>
+ <title>Description of the three basic performance tools</title>
+ </head>
+
+ <body>
+ <h1>Description of the three basic performance tools</h1>
+
+ <h2>iopipe</h2>
+ <p>Times reads and writes to an HDF5 2-d dataset and compares that with
+ reads and writes using POSIX I/O. Reports seven measurements in
+ terms of CPU user time, CPU system time, elapsed time, and
+ bandwidth:
+
+
+<DL>
+<DD>fill raw: time it takes to memset() a buffer.</DD>
+<DD> fill hdf5: time it takes to read from a dataset never written</DD>
+<DD>out raw: time it takes to write using POSIX I/O</DD>
+<DD>out hdf5: time it takes to write using H5Dwrite()</DD>
+<DD>in raw: time it takes to read data just written using POSIX I/O</DD>
+<DD>in hdf5: time it takes to H5Dread() data written with H5Dwrite()</DD>
+<DD>in hdf5 partial: time it takes to H5Dread() the "center" area.</DD>
+</DL>
+
+
+ <p>This is a pretty stupid performance test. It accesses the same area
+ of file and memory over and over and the file size is way too
+ small. But it is good at showing how much overhead there is in the
+ library itself.
+
+
+ <h2>chunk</h2>
+ <p>Determines how efficient the raw data cache is for various access
+ patterns of a chunked dataset, both reading and writing. The access
+ pattern is either (a) we access the entire dataset by moving a window
+ across and down a 2-d dataset in row-major order a full window
+ height and width at a time, or (b) we access part of a dataset by moving
+ the window diagonally from the (0,0) corner to the opposite corner
+ by half the window height and width at a time. The window is
+ measured in terms of the chunk size.
+
+
+ <p>The result is:
+ <br>A table written to stdout that contains the window size as a
+ fraction of the chunk size and the efficiencey of the cache (i.e.,
+ number of bytes accessed by H5Dread() or H5Dwrite() divided by the
+ number of bytes of the dataset actually read or written by lower
+ layers.
+
+
+ <p>A gnuplot script and data files which can be displayed by running
+ gnuplot and typing the command `load "x-gnuplot"'.
+
+
+ <h2>overhead</h2>
+ <p>Measures the overhead used by the B-tree for indexing chunked
+ datasets. As data is written to a chunked dataset the B-tree
+ grows and its nodes get split. When a node splits one of three
+ ratios are used to determine how many items from the original node
+ go into the new left and right nodes, and these ratios affect the
+ total size of the B-tree in a way that depends on the order that
+ data is written to the dataset.
+
+
+ <p>Invoke as `overhead usage' for more information.
+ <hr>
+ <address><a href="mailto:matzke@llnl.gov">Robb Matzke</a></address>
+<!-- Created: Tue Mar 17 11:13:35 EST 1998 -->
+<!-- hhmts start -->
+Last modified: Jun 4, 2003
+<!-- hhmts end -->
+ </body>
+</html>