Code for testing timers and cache maintanence. Records timings of cache misses, cache hits, and memory accesses after cache maintenance.
Configuration can be done by adjusting macros in config.h.
Generic configuration
VERBOSITY: Amount of debug output. Higher value means more output.CACHE: Cache maintenance algorithm to use (EVICTIONorFLUSHING)TIMER: Timer implementation to use (COUNTER_THREADorMSR)
Eviction configuration (ignored if CACHE is not set to EVICTION)
EVICTION_THRESHOLD: Threshold used to find eviction set. If removed, the algorithm will automatically calculate a threshold.EVICTION_SET_SIZE: Amount of addresses in an eviction set.
Benchmark configuration
SAMPLES: Amount of measurements to takeOUTPUT: File to write results to
iPhone: make
M1 Mac: make m1
makeclang- iphones only:
ldid - iPhones only: SDK installed at
/var/sdk(or change path inMakefile) - conversion tool:
Python 3
./benchmark
to convert the output into a csv file: python3 convert.py [filename].