Advertisement
Guest User

Untitled

a guest
Jul 8th, 2012
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.71 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <windows.h>
  3.  
  4. float uberpow(float a, int b);
  5.  
  6. static __inline__ unsigned long long __rdtsc(void)
  7. {
  8.   unsigned long long int x;
  9.      __asm__ volatile (".byte 0x0f, 0x31" : "=A" (x));
  10.      return x;
  11. }
  12.  
  13. int main(int argc, char* argv[])
  14. {
  15.         DWORD64 begin = __rdtsc();
  16.         float sum = 0;
  17.         for(int i = 0; i < 100000000; ++i)
  18.         {
  19. //                sum += pow(112.3, rand() % 11);
  20.                 sum += uberpow(112.3, rand() % 11);
  21.         }
  22.  
  23.         DWORD64 end = __rdtsc();
  24.         DWORD64 diff = end-begin;
  25.  
  26.         LARGE_INTEGER res;
  27.         QueryPerformanceFrequency(&res);
  28.         printf("\n%llu %llu", diff, diff/res.QuadPart);
  29.         return sum;
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement