[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnugo-devel] modify gg_cputime() for win95/win98
From: |
pcibusgood |
Subject: |
[gnugo-devel] modify gg_cputime() for win95/win98 |
Date: |
Tue, 05 Apr 2005 14:01:40 +0800 |
Because GetProcessTimes() not support win95/win98.
double
gg_cputime(void)
{
#if HAVE_SYS_TIMES_H && HAVE_TIMES && HAVE_UNISTD_H
struct tms t;
times(&t);
return (t.tms_utime + t.tms_stime + t.tms_cutime + t.tms_cstime)
/ ((double) sysconf(_SC_CLK_TCK));
#elif defined(WIN32)
OSVERSIONINFO osversion;
memset(&osversion, 0, sizeof(OSVERSIONINFO));
osversion.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx(&osversion);
if(osversion.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS)
{
LARGE_INTEGER tCounter, i64PerfFrequency;
double tRetTime;
QueryPerformanceFrequency( &i64PerfFrequency );
QueryPerformanceCounter( &tCounter );
tRetTime = (double)tCounter.QuadPart;
tRetTime = tRetTime / i64PerfFrequency.QuadPart;
return tRetTime;
}
else
{
FILETIME creationTime, exitTime, kernelTime, userTime;
ULARGE_INTEGER uKernelTime, uUserTime, uElapsedTime;
GetProcessTimes(GetCurrentProcess(), &creationTime, &exitTime,
&kernelTime, &userTime);
uKernelTime.LowPart = kernelTime.dwLowDateTime;
uKernelTime.HighPart = kernelTime.dwHighDateTime;
uUserTime.LowPart = userTime.dwLowDateTime;
uUserTime.HighPart = userTime.dwHighDateTime;
uElapsedTime.QuadPart = uKernelTime.QuadPart +
uUserTime.QuadPart;
/*_ASSERTE(0 && "Debug Times");*/
/* convert from multiples of 100nanosecs to seconds: */
return (signed __int64)(uElapsedTime.QuadPart) * 1.e-7;
}
#else
static int warned = 0;
if (!warned) {
fprintf(stderr, "CPU timing unavailable - returning wall time.");
warned = 1;
}
/* return wall clock seconds */
return gg_gettimeofday();
#endif
}
______________________________________
×¢²áÐÂÀËÃâ·ÑÓÊÏ䣬¼¤»î2G¿Õ¼ä£¡£¨ http://mail.sina.com.cn/chooseMode.html £©
===================================================================
Êý×Ö»¯ÓéÀÖÉú»î±»Ë¡°ÍµÍµµØÔڸı䡱
(http://ad4.sina.com.cn/wx/ads/hpzhuiyu44.html)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnugo-devel] modify gg_cputime() for win95/win98,
pcibusgood <=