performance-aware-programming/haversine_02/include/repetition_testing/reptester.h

45 lines
687 B
C

#ifndef REPTESTER_H
#define REPTESTER_H
#include "aliases.h"
struct reptest_params {
const char *filename;
char *buffer;
u64 read_size;
u64 read_count;
};
struct reptest_results {
u64 bytes_read;
u64 read_time;
};
struct reptester {
reptest_params params;
const u64 cpu_freq;
f64 wait_time_secs;
f64 test_time_secs;
u64 test_start_time;
u64 current_run;
u64 min;
u64 max;
u64 avg;
u64 total;
reptest_results results;
};
struct reptest_func {
const char *name;
void (*func)(reptester *tester);
};
void run_func_test(reptester *tester, reptest_func func_obj);
void print_results(reptester *tester, const char *name);
#endif // !REPTESTER_H