From c630a1b07403339ab3ce74cc10798cd0353230ad Mon Sep 17 00:00:00 2001 From: Yves Mueller Date: Sat, 21 May 2011 14:04:41 +0200 Subject: cacheRows --- cacheRows.c | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/cacheRows.c b/cacheRows.c index b784ee3..c75be89 100644 --- a/cacheRows.c +++ b/cacheRows.c @@ -3,31 +3,35 @@ #include #define MEASURE_METHOD optmemmeasure -#define RUNS 1000 +#define RUNS 10000 #define MIN_OFFSET 1 -#define MAX_OFFSET 128 -#define OFFSETS = MAX_OFFSET - MIN_OFFSET -#define FIELD_TYPE uint32_t +#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)*RUNS*OFFSETS); + FIELD_TYPE *field = malloc(sizeof(FIELD_TYPE)*(MAX_OFFSET+1)); int i=0; - for(i=0;i <= RUNS;i++){ - measure(i*OFFSETS,field); - } + //for(i=0;i < RUNS;i++){ + //fprintf(stdout,"RUN: %d \r\n",i); + measure(0,field); + //} return 0; } -void measure(int offset,FIELD_TYPE *field){ - int lowerAddress = field + sizeof(FIELD_TYPE)*offset; - - for(i=MIN_OFFSET;i <= MAX_OFFSET;i++){ - unit64_t time = MEASURE_METHOD((void*)lowerAddress,i*sizeof(FIELD_TYPE)); - fprintf(stdout,"%d %lld",i,time); - } -} -- cgit v1.2.3-1-g7c22