Guest User

Untitled

a guest
Oct 23rd, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.27 KB | None | 0 0
  1. unsigned long size = 256*1024*1024;
  2. unsigned long stride = 256;
  3. void *array = (void*)malloc(size);
  4. for (unsigned long off = 0; off < size; off+=stride) {
  5. *(unsigned int*)(array+off) = off+stride;
  6. }
  7. *(unsigned int*)(array+off)=0;
  8. int i=10000000;
  9. struct timeval start, end;
  10. gettimeofday(&start, NULL);
  11. while (i>=1) {
  12. offset = *(unsigned int*)(array+off);
  13. i--;
  14. }
  15. gettimeofday(&end, NULL);
  16. *(volatile unsigned int*)(array+offset);
  17. printf("%.2fn", (end.tv_sec-start.tv_sec)*1000000+(end.tv_usec-start.tv_usec));
  18.  
  19. unsigned long size = 256*1024*1024;
  20. unsigned long stride = 256;
  21. void *array = (void*)malloc(size);
  22. for (unsigned long off = 0; off < size; off+=stride) {
  23. *(unsigned int*)(array+off) = off+stride;
  24. }
  25. *(unsigned int*)(array+off)=0;
  26. int i=10000000;
  27. struct timeval start, end;
  28. gettimeofday(&start, NULL);
  29. #define ONE offset = *(unsigned int*)(array+off);
  30. #define FIVE ONE ONE ONE ONE ONE
  31. #define TEN FIVE FIVE
  32. #define FIFTY TEN TEN TEN TEN TEN
  33. #define HUNDRED FIFTY FIFTY
  34. while (i>=1000) {
  35. HUNDRED
  36. HUNDRED
  37. HUNDRED
  38. HUNDRED
  39. HUNDRED
  40. HUNDRED
  41. HUNDRED
  42. HUNDRED
  43. HUNDRED
  44. HUNDRED
  45. i-=1000;
  46. }
  47. gettimeofday(&end, NULL);
  48. *(volatile unsigned int*)(array+offset);
  49. printf("%.2fn", (end.tv_sec-start.tv_sec)*1000000+(end.tv_usec-start.tv_usec));
Add Comment
Please, Sign In to add comment