美文网首页
第二章 性能瓶颈的分析和定位(11)

第二章 性能瓶颈的分析和定位(11)

作者: 耕田者 | 来源:发表于2022-07-27 21:15 被阅读0次

    程序剖析工具

           在Windows平台QtCreator没有支持或集成CPU性能剖析器。因此,我们只能退而求其次,单独启动一个外部的剖析器。Very Sleepy(http://www.codersnotes.com/sleepy)是一个简单而流行的开源剖析器。诚然,它的界面是简陋的,但对于大多数非图形应用程序,它也应该够用了。下面的截图展示了对一个Qt演示程序的CPU剖析结果:

    Fig. Very Sleepy剖析器对Qt程序的CPU性能剖析

            另一个可用的开源剖析器是MD的CodeXL剖析器。它的界面比Very Sleepy丰富多了,事实上它远不止一个CPU剖析器的功能。它还支持GPU调试、帧分析、GPU剖析、shader分析以及功耗分析。在下面的截图中展示了CodeXL界面上显示的一个Qt演示程序的CPU剖析结果:

    Fig. CodeXL对某Qt演示程序的CPU剖析结果

           该截图展示了调用图的可视化结果,点击采样最多的函数可以看到最繁忙的函数调用链,另外在独立的页签中还有采样最多的函数和模块的列表。

            微软的Visual Studio即便在其社区版中都集成了其自带的剖析器,但我们决定以Qt Creator作为IDE,因此不作讨论。Luke Stackwalker(http://lukestackwalker.sourceforge.net/)有比Very Sleepy更好的用户界面并且有Windows版,但遗憾的是它仅支持微软编译器的调试信息格式。由于我们使用MinGW的GNU编译器,我们也不得不舍弃它。开源的Orbit剖析器也是同样的原因不合适。谷歌的perftools工具集支持Windows,该工具集包含一个采样型剖析器,可是这个剖析器并没有Windows版本。

    相关文章

      网友评论

          本文标题:第二章 性能瓶颈的分析和定位(11)

          本文链接:https://www.haomeiwen.com/subject/jyaxwrtx.html