不开玩笑:除了将时间转储到std :: cout和其他面向文本/数据的方法之外,我还使用了Beep()函数.听到两个"哔"检查点之间的沉默差异会产生不同的印象.
这就像查看书面乐谱和实际听到音乐之间的区别.这就像读取rgb(255,0,0)和看到消防车红色之间的区别.
所以,现在,我有一个客户端/服务器应用程序和不同频率的蜂鸣声,标记客户端发送消息的位置,服务器开始其回复,完成其回复,回复首先进入客户端等,我可以非常自然而然地感觉到时间花在哪里.
我发现以下内容非常有用:
#ifdef PROFILING
# define PROFILE_CALL(x) do{ \
const DWORD t1 = timeGetTime(); \
x; \
const DWORD t2 = timeGetTime(); \
std::cout << "Call to '" << #x << "' took " << (t2 - t1) << " ms.\n"; \
}while(false)
#else
# define PROFILE_CALL(x) x
#endif
Run Code Online (Sandbox Code Playgroud)
哪个可以在调用函数中使用:
PROFILE_CALL(renderSlow(world));
int r = 0;
PROFILE_CALL(r = readPacketSize());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
654 次 |
| 最近记录: |