在Visual C ++中测量操作速度的最佳方法

时间:2012-09-11 11:38:39

标签: c++ windows winapi

我在Visual Studios中使用MFC。我想知道在这个特定的IDE中测量操作(例如,功能A与功能B)的速度/效率的最佳方法是什么。这可以用断点来完成吗?

3 个答案:

答案 0 :(得分:2)

不,使用QueryPerformanceCounterdocs)来准确测量速度。根据@MadKeithV的评论,这似乎不是一个好的解决方案,因为CPU速度缩放(根据当前负载降低CPU速度)可能会改变CPU滴答长度。

使用好的分析器是一个更好的主意,或者只是使用clock_t来衡量。

答案 1 :(得分:1)

衡量一项操作效率的一个好方法是通过分析(参见例如How is profiling different from logging?) - 分析旨在向您展示在您的程序,特定函数,行甚至语句中花费的时间。

如果您的操作需要足够长的时间,您还可以使用简单的“挂钟时间”(例如您的平台的GetTime等效时间)来计算通话时间 - 例如如果单个操作需要几毫秒。请注意,在存在多线程的情况下分解为实际性能非常棘手 - 您应该确切地知道您正在测量的是什么。

答案 2 :(得分:1)

如果你有终极版,它有相当不错的内置性能分析器。否则,请使用外部探查器。