【发布时间】:2015-05-21 12:53:57
【问题描述】:
分析中的仪器究竟是如何工作的?
我应该知道什么才能自己实现一个使用仪器的简单分析器?
【问题讨论】:
-
什么平台和操作系统?例如,在某些嵌入式系统上,仪器包括将脉冲写入测试点引脚和使用示波器。其他人可能会使用 system tick 计数。
-
另外,一些编译器提供配置文件的帮助,例如 GNU 编译器。
-
我假设你知道测量函数持续时间的特点。您没有获得线路级时序。当同一个函数在调用堆栈上更高时,您必须暂停对函数的测量。如果您有大量调用的小函数,则测量持续时间的开销本身可能占主导地位。如果检测的原因是为了获取包括 I/O 在内的时间,另一种选择是调用堆栈的简单挂钟时间采样。 (闹钟中断可以做到——频率不需要很高。)
-
@ThomasMatthews 带有 linux 或 unix 的 PC。它不适用于嵌入式系统。
-
@MikeDunlavey 不幸的是我不知道如何测量函数的持续时间。
标签: c++ profiling profiler instrumentation