Basic repetition testing implementation
This commit is contained in:
		
							
								
								
									
										44
									
								
								haversine_02/include/repetition_testing/reptester.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								haversine_02/include/repetition_testing/reptester.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,44 @@
 | 
			
		||||
#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
 | 
			
		||||
		Reference in New Issue
	
	Block a user