#include #include "inlineasm.h" #include #define MEASURE_METHOD optmemmeasure #define RUNS 10000 #define MIN_OFFSET 1 #define MAX_OFFSET 512 #define OFFSETS (MAX_OFFSET - MIN_OFFSET) #define FIELD_TYPE uint8_t void measure(int offset,FIELD_TYPE *field){ void *lowerAddress = field + offset; int i; for(i=MIN_OFFSET;i <= MAX_OFFSET;i++){ uint64_t time = MEASURE_METHOD(lowerAddress,i*sizeof(FIELD_TYPE)); //if (time > 128 && time < 10000) fprintf(stdout,"%d %lld \r\n",i,time); } } int main(int argc, char* argv[]) { //uint64_t *results = malloc(sizeof(uint64_t)*RUNS*OFFSETS); FIELD_TYPE *field = malloc(sizeof(FIELD_TYPE)*(MAX_OFFSET+1)); int i=0; //for(i=0;i < RUNS;i++){ //fprintf(stdout,"RUN: %d \r\n",i); measure(0,field); //} return 0; }