通过代码检查exe的性能

时间:2011-11-11 13:55:25

标签: c++ windows performance

我想通过多次运行它来检查应用程序(其exe,我没有源代码)的性能,并可能比较结果,dint在互联网上找到了很多关于这个主题的内容,

由于我必须在多个输入时间内完成它,我认为通过代码(使用的语言没有栏)可以使事情变得更容易,因为我可能需要重复多次, 任何人都可以帮我开始???

注意:按性能,我的意思是内存使用量,CPU和可能的时间!

(我目前正在Windows上使用perfmon,通过使用必要的计数器来检查这些参数并手动记下它们)

由于

5 个答案:

答案 0 :(得分:1)

强烈取决于您的操作系统。在 Linux 上,您可以使用time实用程序。 strace可能有助于您了解所使用的系统调用。

我不知道Windows系统上的等效内容。

答案 1 :(得分:1)

我认为您可以创建一个bash / batch脚本,根据需要和不同的输入多次调用您的程序。

然后,您可以让脚本创建一个CSV文件,其中包含执行程序所花费的时间(例如,开始日期和结束日期)。 CSV文件通常与大多数电子表格程序(如Excel)兼容,因此我认为这可以使您更轻松地处理数据,例如创建方法和标准偏差。

关于内存和CPU使用情况我没什么可说的,但是如果你在Windows中,那么看一下Process Explorer和Process Monitor(你可以在{{3页面)。我认为他们可以帮助你完成任务。

最后,如果您使用Linux,我认为您可以使用top命令使用grep来收集一些统计信息。

此致

菲利普

答案 2 :(得分:1)

如果您想要精确的结果,Rational Purify(在Windows上)或valgrind(在Linux上)是最好的工具;这些应用程序在虚拟机中运行,可以指示它进行精确的循环计数。

答案 3 :(得分:1)

another post中,提到了一个名为timethis.exe的实用程序,用于测量Windows下的时间。也许这对你的目的很有用。

答案 4 :(得分:0)

我使用perform im using以自动方式手动记录, 也就是说,我使用dot net中提供的性能计数器类,并定期获取特定应用程序的样本,并生成带有这些值的图表。

谢谢:)