Changeset 566fde0 for benchmark/io
- Timestamp:
- Jun 25, 2020, 2:31:49 PM (5 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- cb85603
- Parents:
- 69fbc61
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
benchmark/io/readv.cfa
r69fbc61 r566fde0 16 16 #include <thread.hfa> 17 17 #include <time.hfa> 18 #include <stats.hfa> 18 19 19 20 #include "../benchcltr.hfa" … … 52 53 unsigned long int nthreads = 2; 53 54 unsigned long int nprocs = 1; 55 bool silent = false; 56 bool procstats = false; 54 57 unsigned flags = 0; 55 58 unsigned sublen = 16; … … 61 64 {"nthreads", required_argument, 0, 't'}, 62 65 {"nprocs", required_argument, 0, 'p'}, 66 {"nostats", no_argument , 0, 'S'}, 67 {"procstat", no_argument , 0, 'P'}, 63 68 {"bufsize", required_argument, 0, 'b'}, 64 69 {"userthread", no_argument , 0, 'u'}, … … 69 74 70 75 int idx = 0; 71 int opt = getopt_long(argc, argv, "d:t:p: b:usl:", options, &idx);76 int opt = getopt_long(argc, argv, "d:t:p:SPb:usl:", options, &idx); 72 77 73 78 const char * arg = optarg ? optarg : ""; … … 99 104 } 100 105 break; 106 case 'S': 107 silent = true; 108 break; 109 case 'P': 110 procstats = true; 111 break; 101 112 case 'b': 102 113 buflen = strtoul(arg, &end, 10); … … 124 135 fprintf(stderr, "%d\n", opt); 125 136 usage: 126 fprintf(stderr, "Usage: %s : [options]\n", argv[0]); 127 fprintf(stderr, "\n"); 128 fprintf(stderr, " -d, --duration=DURATION Duration of the experiment, in seconds\n"); 129 fprintf(stderr, " -t, --nthreads=NTHREADS Number of user threads\n"); 130 fprintf(stderr, " -p, --nprocs=NPROCS Number of kernel threads\n"); 131 fprintf(stderr, " -b, --buflen=SIZE Number of bytes to read per request\n"); 132 fprintf(stderr, " -u, --userthread If set, cluster uses user-thread to poll I/O\n"); 133 fprintf(stderr, " -s, --submitthread If set, cluster uses polling thread to submit I/O\n"); 137 fprintf( stderr, "Usage: %s : [options]\n", argv[0] ); 138 fprintf( stderr, "\n" ); 139 fprintf( stderr, " -d, --duration=DURATION Duration of the experiment, in seconds\n" ); 140 fprintf( stderr, " -t, --nthreads=NTHREADS Number of user threads\n" ); 141 fprintf( stderr, " -p, --nprocs=NPROCS Number of kernel threads\n" ); 142 fprintf( stderr, " -S, --nostats Don't print cluster stats\n" ); 143 fprintf( stderr, " -P, --procstat Print processor stats" ); 144 fprintf( stderr, " -b, --buflen=SIZE Number of bytes to read per request\n" ); 145 fprintf( stderr, " -u, --userthread If set, cluster uses user-thread to poll I/O\n" ); 146 fprintf( stderr, " -s, --submitthread If set, cluster uses polling thread to submit I/O\n" ); 134 147 exit(EXIT_FAILURE); 135 148 } … … 148 161 BenchCluster cl = { flags }; 149 162 #if !defined(__CFA_NO_STATISTICS__) 150 print_stats_at_exit( cl.self ); 163 if( !silent ) { 164 print_stats_at_exit( cl.self, CFA_STATS_READY_Q | CFA_STATS_IO ); 165 } 151 166 #endif 152 167 { 153 168 BenchProc procs[nprocs]; 169 #if !defined(__CFA_NO_STATISTICS__) 170 if( procstats ) { 171 for(i; nprocs) { 172 print_stats_at_exit( procs[i].self, CFA_STATS_READY_Q | CFA_STATS_IO ); 173 } 174 } 175 #endif 154 176 { 155 177 Reader threads[nthreads];
Note: See TracChangeset
for help on using the changeset viewer.