【发布时间】:2014-11-09 03:14:26
【问题描述】:
我正在编写一个 Pin 工具,它似乎会增加大量时间开销。
我的工具必须以指令的粒度检测程序。
为了检查开销来源,我编写了一个小型 Pin-tool,它仅通过
测量每条指令来计算指令(就像我必须在我的工具中做的那样)。
此外,我还编写了一个检查注册表值的简单程序(C 代码大约 20 行)。
(在 i7 CPU 上运行,Windows 7)
运行简单程序时,几乎需要立即返回。
当运行 Pin 工具 init 和完全没有检测的程序时,它需要 2.35+- 秒
使用简单的指令工具运行 Pin 工具需要 5-6 秒
指令数:3,107,098。
我也在更复杂的代码上尝试过,一个循环遍历递归函数的程序。
没有 Pin 大约需要 1 分钟。
使用 Pin(仅计算指令)大约需要 7 分钟。
指令数为:1,850,919,077
这是预期的开销吗?
【问题讨论】:
标签: performance instrumentation intel-pin