【发布时间】:2012-10-30 10:37:27
【问题描述】:
我需要实现执行时间测量功能。我想到了两种可能。
第一次 - 常规 time() 调用,只需记住每个执行步骤开始的时间和每个执行步骤完成的时间。 Unix
timeshell 命令就是这样工作的。第二种方法是采样。每个执行步骤在执行开始之前设置某种标志(例如 - 在堆栈帧中创建一些对象),并在完成时将其销毁。计时器定期扫描所有标志并生成执行时间配置文件。如果某个执行步骤比其他执行步骤花费更多时间 - 它将被扫描更多次。许多分析器都是这样工作的。
我需要在我的服务器应用程序中添加一些分析功能,什么方法更好,为什么?我认为第二种方法不太准确,第一种方法增加了对分析库代码的依赖。
【问题讨论】: