Definition at line 132 of file Timer.h. References mCpuTime, mFreq, mMode, and mStartTime. Referenced by Impala::Util::TimePlot::Stop(), and Impala::Util::TimeStats::StopTime(). 00133 { 00134 double val; 00135 #ifdef unix 00136 if (mMode == 0) 00137 { 00138 times(&mCpuTime); 00139 mUsrTime = mCpuTime.tms_utime - mUsrTime; 00140 mSysTime = mCpuTime.tms_stime - mSysTime; 00141 val = (double) (mUsrTime + mSysTime) / HZ; 00142 } 00143 else 00144 { 00145 struct timeval splitTime; 00146 gettimeofday(&splitTime, 0); 00147 val = (double) (splitTime.tv_sec - mStartTime.tv_sec); 00148 long uSec = splitTime.tv_usec - mStartTime.tv_usec; 00149 val += (double) uSec / 1000000; 00150 } 00151 #else 00152 if (mMode == 0) 00153 { 00154 mCpuTime = clock() - mCpuTime; 00155 val = (double) mCpuTime / CLOCKS_PER_SEC; 00156 } 00157 else 00158 { 00159 LARGE_INTEGER splitTimeStruct; 00160 QueryPerformanceCounter(&splitTimeStruct); 00161 LONGLONG splitTime = splitTimeStruct.HighPart; 00162 splitTime = splitTime << 32; 00163 splitTime |= splitTimeStruct.LowPart; 00164 splitTime -= mStartTime; 00165 val = (double) splitTime / mFreq; 00166 } 00167 #endif 00168 return val; 00169 }
|