timer.cpp

来自「用于GPU通用计算的编程语言BrookGPU 0.4」· C++ 代码 · 共 52 行

CPP
52
字号
#include <assert.h>#ifdef _WIN32#include <windows.h>static LARGE_INTEGER t;static float         f;static int           freq_init = 0;void resetTimer(void) {  if (!freq_init) {    LARGE_INTEGER freq;    assert (QueryPerformanceFrequency(&freq));    f = (float) freq.QuadPart;    freq_init = 1;  }  assert (QueryPerformanceCounter(&t));}float getTimer(void) {  LARGE_INTEGER s;  float d;  assert (QueryPerformanceCounter(&s));  d = ((float)(s.QuadPart - t.QuadPart)) / f;  return (d*1000.0f);}#else#include <sys/time.h>static struct timeval t;void resetTimer(void) {  gettimeofday(&t);}float getTimer(void) {  static struct timeval s;  gettimeofday(&s);  return (int) (s.tv_sec - t.tv_sec)*1000.0f +     (s.tv_usec - t.tv_sec)/1000.0f;}#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?