summaryrefslogtreecommitdiffstats
path: root/perform
diff options
context:
space:
mode:
authorBill Wendling <wendling@ncsa.uiuc.edu>2001-12-10 22:06:22 (GMT)
committerBill Wendling <wendling@ncsa.uiuc.edu>2001-12-10 22:06:22 (GMT)
commit39243d8b0559a96d09595d6f5726b584ab308858 (patch)
tree43d8f4f8ec580fa1ebe82e1fd1aa7d503faaa95b /perform
parentc597c46ae4ab72205cb1fe3f6592e52c1f3c7c5a (diff)
downloadhdf5-39243d8b0559a96d09595d6f5726b584ab308858.zip
hdf5-39243d8b0559a96d09595d6f5726b584ab308858.tar.gz
hdf5-39243d8b0559a96d09595d6f5726b584ab308858.tar.bz2
[svn-r4689]
Purpose: Feature Fix Description: Added code so that it will actually output some of the timing measurements. Platforms tested: Linux
Diffstat (limited to 'perform')
-rw-r--r--perform/pio_perf.c15
-rw-r--r--perform/pio_perf.h15
2 files changed, 26 insertions, 4 deletions
diff --git a/perform/pio_perf.c b/perform/pio_perf.c
index b9de34e..059845b 100644
--- a/perform/pio_perf.c
+++ b/perform/pio_perf.c
@@ -230,6 +230,8 @@ run_test_loop(FILE *output, int max_num_procs, long max_size)
fprintf(output, "PHDF5\n");
for (j = MIN_HDF5_BUF_SIZE; j <= MAX_HDF5_BUF_SIZE; j <<= 1) {
+ results res;
+
parms.num_dsets = ONE_GB / j;
parms.num_elmts = (max_size * j) / sizeof(int);
@@ -239,8 +241,17 @@ run_test_loop(FILE *output, int max_num_procs, long max_size)
parms.num_files, parms.num_dsets, parms.num_elmts);
/* call Albert's testing here */
- do_pio(parms);
+ res = do_pio(parms);
+
+ print_indent(output, TAB_SPACE * 3);
+ fprintf(output, "Write Results = %f MB/s\n",
+ (parms.num_dsets * parms.num_elmts * sizeof(int)) /
+ get_time(res.timers, HDF5_WRITE_FIXED_DIMS));
+
/* get back ``result'' object and report */
+ /* (res.ret_code == SUCCESS); */
+ /* (res.timers); */
+ pio_time_destroy(res.timers);
}
}
}
@@ -259,8 +270,6 @@ print_indent(register FILE *output, register int indent)
{
for (; indent > 0; --indent)
fputc(' ', output);
-
- fputc('\n', output);
}
/*
diff --git a/perform/pio_perf.h b/perform/pio_perf.h
index 1fdbaee..849df75 100644
--- a/perform/pio_perf.h
+++ b/perform/pio_perf.h
@@ -7,6 +7,8 @@
#ifndef PIO_PERF_H__
#define PIO_PERF_H__
+#include "pio_timer.h"
+
typedef enum iotype_ {
RAW,
MPIO,
@@ -23,6 +25,11 @@ typedef struct parameters_ {
unsigned int num_iters; /* Number of times to loop doing the IO */
} parameters;
+typedef struct results_ {
+ herr_t ret_code;
+ pio_time *timers;
+} results;
+
#ifndef SUCCESS
#define SUCCESS 0
#endif /* !SUCCESS */
@@ -31,6 +38,12 @@ typedef struct parameters_ {
#define FAIL -1
#endif /* !FAIL */
-extern herr_t do_pio(parameters param);
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+extern results do_pio(parameters param);
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
#endif /* PIO_PERF_H__ */