bench: Tweaked bench.py to include cumulative measurements
This was the one piece needed to be able to replace amor.py with csv.py. The missing feature in csv.py is the ability to keep track of a running-sum, but this is a bit of a hack in amor.py considering we otherwise view csv entries as unordered. We could add a running-sum to csv.py, or instead, just include a running sum as a part of our bench output. We have all the information there anyways, and if it simplifies the mess that is our csv scripts, that's a win. --- This also replaces the bench "meas", "iter", and "size" fields with the slightly simpler "m" (measurement? metric?) and "n" fields. It's up to the specific benchmark exactly how to interpret "n", but one field is sufficient for existing scripts.
This commit is contained in:
+8
-14
@@ -21,24 +21,18 @@ void bench_trace(const char *fmt, ...);
|
||||
|
||||
// BENCH_START/BENCH_STOP macros measure readed/proged/erased bytes
|
||||
// through emubd
|
||||
void bench_start(const char *meas, uintmax_t iter, uintmax_t size);
|
||||
void bench_stop(const char *meas);
|
||||
void bench_start(const char *m, uintmax_t n);
|
||||
void bench_stop(const char *m);
|
||||
|
||||
#define BENCH_START(meas, iter, size) \
|
||||
bench_start(meas, iter, size)
|
||||
#define BENCH_STOP(meas) \
|
||||
bench_stop(meas)
|
||||
#define BENCH_START(m, n) bench_start(m, n)
|
||||
#define BENCH_STOP(m) bench_stop(m)
|
||||
|
||||
// BENCH_RESULT/BENCH_FRESULT allow for explicit non-io measurements
|
||||
void bench_result(const char *meas, uintmax_t iter, uintmax_t size,
|
||||
uintmax_t result);
|
||||
void bench_fresult(const char *meas, uintmax_t iter, uintmax_t size,
|
||||
double result);
|
||||
void bench_result(const char *m, uintmax_t n, uintmax_t result);
|
||||
void bench_fresult(const char *m, uintmax_t n, double result);
|
||||
|
||||
#define BENCH_RESULT(meas, iter, size, result) \
|
||||
bench_result(meas, iter, size, result)
|
||||
#define BENCH_FRESULT(meas, iter, size, result) \
|
||||
bench_fresult(meas, iter, size, result)
|
||||
#define BENCH_RESULT(m, n, result) bench_result(m, n, result)
|
||||
#define BENCH_FRESULT(m, n, result) bench_fresult(m, n, result)
|
||||
|
||||
|
||||
// note these are indirectly included in any generated files
|
||||
|
||||
Reference in New Issue
Block a user