VS性能分析工具的使用
有时我们要对我们的程序进行调优,需要对程序的性能进行分析。性能分析的工具有很多,比如 google profiler、valgrind、xperf等,今天进行整理的是 VS 自带的性能分析工具。
我使用的是VS 2015进行的操作,不同的VS 有可能使用方法不一样,不过大体的使用应该是相同的。
VS 自带性能分析工具,可以执行直接在VS中执行书写的项目,也可以追踪生成的可执行文件(需要其它文件,如pdb),两者的操作差不多,主要在执行分析时有点区别。
性能分析首先要执行分析并生成分析报告。VS开始性能分析的快捷键为 ALT+F2,也可以使用菜单工具栏,有两处入口,如下图所示:
第一处在 “分析” -> “性能探查器”
另一处是在 “调试” ->“性能探查器”
点击 之后会出现下面的界面。
这里可以选择分析现有项目,还是分析其它项目或者其它可执行文件。若是分析其它项目我们选择 “更改目标” 按钮如下图所示:
选择可执行文件,然后点击开始,弹出以下界面:
选择要分析的选项,然后弹出下面界面,填写必要信息开始执行。
如果选择了现有项目,则直接选择要分析的选项,这里我选择了CPU使用率,然后点击左下角的 “开始” 按钮,开始执行分析,如下图所示:
执行一段时间后,点击居中的 “停止收集” 按钮,生成分析数据。
我的测试项目书写了下面一段简单的代码:
int main()
{
int a,b;
a = b = 0;
while ( true )
{
for (int i = 0; i< 10000; i++ )
{
for (int j = 0; j < 100; j++)
{
++a;
}
}
for (int i = 0; i < 100; i++)
{
for (int j = 0; j < 10000; j++)
{
++b;
}
}
if (a>5000000 || b > 5000000 )
{
a = b = 0;
}
}
return 0;
}
生成的简单分析报告如下图所示:
程序主要执行的部分在main函数中,这是和我们程序相符的。我们肯定不是问了看一下这样简单的问题,我们要看某一部分执行的性能,点击右上角的 “创建详细的报告”,需要等待一会。生成如下图所示的界面:
这里我们可以看到哪些函数占用的cpu比较多,函数的调用过程是怎样的,如果想看某个函数直接点击函数名,看函数的详细信息,我们可以根据语句执行的执行效率来进行针对性的修改,如下图:
视图中 独占样本数 指该函数中不包含子函数的执行时间;非独占样本数 指包含子函数执行时间的总执行时间。
感谢大家,我是假装很努力的YoungYangD(小羊)。