Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unsigned long size = 256*1024*1024;
- unsigned long stride = 256;
- void *array = (void*)malloc(size);
- for (unsigned long off = 0; off < size; off+=stride) {
- *(unsigned int*)(array+off) = off+stride;
- }
- *(unsigned int*)(array+off)=0;
- int i=10000000;
- struct timeval start, end;
- gettimeofday(&start, NULL);
- while (i>=1) {
- offset = *(unsigned int*)(array+off);
- i--;
- }
- gettimeofday(&end, NULL);
- *(volatile unsigned int*)(array+offset);
- printf("%.2fn", (end.tv_sec-start.tv_sec)*1000000+(end.tv_usec-start.tv_usec));
- unsigned long size = 256*1024*1024;
- unsigned long stride = 256;
- void *array = (void*)malloc(size);
- for (unsigned long off = 0; off < size; off+=stride) {
- *(unsigned int*)(array+off) = off+stride;
- }
- *(unsigned int*)(array+off)=0;
- int i=10000000;
- struct timeval start, end;
- gettimeofday(&start, NULL);
- #define ONE offset = *(unsigned int*)(array+off);
- #define FIVE ONE ONE ONE ONE ONE
- #define TEN FIVE FIVE
- #define FIFTY TEN TEN TEN TEN TEN
- #define HUNDRED FIFTY FIFTY
- while (i>=1000) {
- HUNDRED
- HUNDRED
- HUNDRED
- HUNDRED
- HUNDRED
- HUNDRED
- HUNDRED
- HUNDRED
- HUNDRED
- HUNDRED
- i-=1000;
- }
- gettimeofday(&end, NULL);
- *(volatile unsigned int*)(array+offset);
- printf("%.2fn", (end.tv_sec-start.tv_sec)*1000000+(end.tv_usec-start.tv_usec));
Add Comment
Please, Sign In to add comment