From 0721b0c992afc0a8e75125f2ddf895bd1a505efc Mon Sep 17 00:00:00 2001 From: Raymond Lu Date: Wed, 15 Oct 2003 17:02:16 -0500 Subject: [svn-r7644] Purpose: Modify a performance test. Description: changed some features Platforms tested: RH 8 and modi4. Some simple feature changes. --- perform/perf_meta.c | 229 +++++++++++++++++++++++----------------------------- 1 file changed, 102 insertions(+), 127 deletions(-) diff --git a/perform/perf_meta.c b/perform/perf_meta.c index ad61e8f..c1d7044 100644 --- a/perform/perf_meta.c +++ b/perform/perf_meta.c @@ -31,11 +31,17 @@ #define FACC_MPIO 0x1 /* MPIO */ #define FACC_MPIPOSIX 0x8 /* MPIPOSIX */ +/* Which test to run */ +int RUN_TEST = 0x0; /* all tests as default */ +int TEST_1 = 0x1; /* Test 1 */ +int TEST_2 = 0x2; /* Test 2 */ +int TEST_3 = 0x4; /* Test 3 */ + + const char *FILENAME[] = { - "meta_perf_1.h5", - "meta_perf_2.h5", - "meta_perf_3.h5", - "meta_perf_4.h5", + "meta_perf_1", + "meta_perf_2", + "meta_perf_3", NULL }; @@ -43,6 +49,8 @@ const char *FILENAME[] = { int NUM_DSETS = 16; int NUM_ATTRS = 8; int BATCH_ATTRS = 2; +hbool_t flush_dset = FALSE; +hbool_t flush_attr = FALSE; int nerrors = 0; /* errors count */ hid_t fapl; @@ -83,6 +91,8 @@ void print_perf(p_time, p_time, p_time); static int parse_options(int argc, char **argv) { + int t; + /* Use default values */ if(argc==1) return(0); @@ -127,6 +137,32 @@ parse_options(int argc, char **argv) facc_type = FACC_MPIO; break; + case 'f': /* Call H5Fflush for each dataset or attribute */ + if(!strcmp("a", (*argv+2))) + flush_attr = TRUE; + else if(!strcmp("d", (*argv+2))) + flush_dset = TRUE; + else { + nerrors++; + return(1); + } + break; + + case 't': /* Which test to run */ + t = atoi((*argv+1)+1); + if (t < 1 || t > 3){ + nerrors++; + return(1); + } + if(t == 1) + RUN_TEST |= TEST_1; + else if(t == 2) + RUN_TEST |= TEST_2; + else + RUN_TEST |= TEST_3; + + break; + default: nerrors++; return(1); } @@ -144,17 +180,17 @@ parse_options(int argc, char **argv) } #endif /*H5_HAVE_PARALLEL*/ + if(NUM_ATTRS && !BATCH_ATTRS) + NUM_ATTRS = 0; + + if(!NUM_ATTRS && BATCH_ATTRS) + BATCH_ATTRS = 0; if(!NUM_DSETS) { nerrors++; return(1); } - if((NUM_ATTRS && !BATCH_ATTRS) || (!NUM_ATTRS && BATCH_ATTRS)) { - nerrors++; - return(1); - } - if(NUM_ATTRS && BATCH_ATTRS) { if(BATCH_ATTRS > NUM_ATTRS || NUM_ATTRS % BATCH_ATTRS) { nerrors++; @@ -181,22 +217,44 @@ parse_options(int argc, char **argv) static void usage(void) { - printf("Usage: perf_meta [-h] [-m] [-p] [-d] [-a] [-n\n"); + printf("Usage: perf_meta [-h] [-m] [-p] [-d]" + "[-a]\n" + "\t[-n] [-f