Perl程序性能调试之dprofpp
Posted Tcler
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Perl程序性能调试之dprofpp相关的知识,希望对你有一定的参考价值。
要调试一个程序的性能,profiling是其中一个很有效的方式。
Perl的安装包自带有一个模块`Devel::DProf`用于性能调试。
Quick Start
运行程序,通过`-d:DProf`选项启用profiling.
程序执行完毕后,profiling数据存储在当前目录下的`tmon.out`文件中。
运行程序`dprofpp`来解析文件`tmon.out`并输出报告。
然后就是解读报告来找出性能的瓶颈,然后进行针对性的优化。
dprofpp 使用概要
`dprofpp`程序的默认输出是按照函数的exclusive time排序,输出用时最多的前15个函数。
* 选项`-I`:输出 inclusive time,默认的是exclusive time
* 选项`-O 15`:输出指定数目的记录,默认值是15
* 选项`-l`:按照函数的调用次数排序
* 选项`-v`:按照函数的平均执行时间排序
* 选项`-t`:输出各函数的调用顺序
tmon.out 的文件格式
文件`tmon.out`的内容的格式如下
* `+` 表示函数开始执行
* `-` 表示函数结束执行
* 每行对应的数字分为是 user time, system time, clock time,单位是ticks
* tick的大小可以由第二行`$hz=100`得出。
更强大的Devel::NYTProf
目前`Devel::DProf`已经不被建议使用,而是由更新更强大的`Devel::NYTProf `所取代。
虽然如此,考虑到`Devel::NYTProf `也许并没有预先安装你的开发环境中,很多时候还是值得先拿`Devel::DProf`来试一试。很多时候,也基本够用。
受限于移动客户端屏幕大小对于阅读代码的限制,文中的代码部分使用了截图。点击文章底部的“阅读原文”可以移步原文链接。
欢迎关注 Tcler : 从程序看世界,程序它会说话。
长按二维码识别关注 Tcler
以上是关于Perl程序性能调试之dprofpp的主要内容,如果未能解决你的问题,请参考以下文章
VS2015--win32工程配置的一些想法之在 Visual Studio 2015 中进行调试的同时分析性能
VS2015--win32project配置的一些想法之在 Visual Studio 2015 中进行调试的同一时候分析性能