#include #include "inlineasm.h" #include #define MEASURE_METHOD memmeasure #define MIN_OFFSET 1 #define MAX_OFFSET 4096 #define OFFSETS (MAX_OFFSET - MIN_OFFSET) #define FIELD_TYPE uint8_t void measure(int offset,FIELD_TYPE *field){ uint64_t *res = malloc(sizeof(uint64_t)*MAX_OFFSET); void *lowerAddress = field + offset; int i; int a = field[0]; for(i=MAX_OFFSET;i >= MIN_OFFSET;i--){ res[i] = MEASURE_METHOD(lowerAddress,res[i]*sizeof(FIELD_TYPE)); } for(i=MIN_OFFSET;i <= MAX_OFFSET;i++){ fprintf(stdout,"%d %lld \r\n",i,res[i]); } } 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; measure(0,field); return 0; }