选定后可以立即在下面的结果窗口中看到最耗时的方法,比如上面的DEMO,当然性能都消耗在了Main函数上。
498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' alt="" src="/uploadfile/201301/12/7F123235744.png" />
软件提供了多种度量值查看性能损耗,有百分比和多种时间格式,这里选定“秒”作为度量单位。
498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' alt="" src="/uploadfile/201301/12/F6123235483.png" />
再选择要查看的函数,软件强大之处就显现出来了。
至于DEMO里这段代码为什么第一次执行Console.WriteLine如此耗能,我想如果你认真看了《CLR via C#》的第一章就应该能知道答案了。
498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' alt="" src="/uploadfile/201301/12/A2123236163.png" />
当然你还可以点击层次结构图标,查看更加直观的性能损耗,就像下面这样。
这样的层次结构图还有一个好处就是可以看到.NET Framework的内部实现。
当进行一些决策,比如是用原生的功能还是第三方组件时,这个功能会变得非常好用,因为通过它能比较直观的地看到内部实现的性能瓶颈在哪里。
498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' alt="" src="/uploadfile/201301/12/1F123236791.png" />
结语
ANTS Performance Profiler是我性能调优时最先使用也是最喜欢使用的工具,所以放在了第一篇文章里来分享给大家,希望能给各位带来点帮助。
它非常的直观、强大,因为手头复杂的项目不适合用来做DEMO,所以只是写了段简单的代码作演示,它的强大之处还待你真正遇到性能问题使用它时去好好体会。
文章有所疏漏和要补充的,请留言一起讨论,也请关注后续的相关文章。
如果文章对你有点帮助,推荐一下吧,谢谢 :)
原文链接:.NET性能调优之一:ANTS Performance Profiler的使用