Home || Visual Search || Applications || Architecture || Important Messages || OGL || Src

double Impala::Timer::Stop (  )  [inline]

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     }


Generated on Thu Jan 13 09:14:04 2011 for ImpalaSrc by  doxygen 1.5.1