Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <windows.h>
- float uberpow(float a, int b);
- static __inline__ unsigned long long __rdtsc(void)
- {
- unsigned long long int x;
- __asm__ volatile (".byte 0x0f, 0x31" : "=A" (x));
- return x;
- }
- int main(int argc, char* argv[])
- {
- DWORD64 begin = __rdtsc();
- float sum = 0;
- for(int i = 0; i < 100000000; ++i)
- {
- // sum += pow(112.3, rand() % 11);
- sum += uberpow(112.3, rand() % 11);
- }
- DWORD64 end = __rdtsc();
- DWORD64 diff = end-begin;
- LARGE_INTEGER res;
- QueryPerformanceFrequency(&res);
- printf("\n%llu %llu", diff, diff/res.QuadPart);
- return sum;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement