00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include <stdio.h>
00018 #if defined WIN32
00019 #include <windows.h>
00020 #else
00021 #include <sys/time.h>
00022 #endif
00023
00024 #include "timer.h"
00025
00026 #if ! defined WIN32
00027 double timer()
00028 {
00029 struct timeval t;
00030 gettimeofday(&t, NULL);
00031 return (t.tv_sec * 1e6 + t.tv_usec)/1000.0;
00032 }
00033 #else
00034 double timer()
00035 {
00036 LARGE_INTEGER timerFreq, timerCount;
00037
00038 if (! QueryPerformanceFrequency(&timerFreq)) {
00039 fprintf(stderr, "determining timer frequency failed\n");
00040 exit(1);
00041 }
00042 QueryPerformanceCounter(&timerCount);
00043
00044 return (timerCount.QuadPart * 1000.0)/timerFreq.QuadPart;
00045 }
00046 #endif
00047