让我们用图解的方式向你介绍它。具体内容如下:
软件开发中的性能优化对于程序员来说是一个非常重要的问题。一个小问题可能成为大系统的瓶颈。但是程序员自己优化代码是非常困难的。幸运的是,有一些优秀的工具可以帮助程序员分析代码和测试性能,从而大大简化优化代码性能的过程。2011年7月,《MSDN》杂志出版了这一期,主题为“2011”。NET代码分析工具和技术”,这让程序员受益匪浅。四年过去了,这些工具得到了进一步的完善,同时也出现了更多的选择。本文对目前主流的一些Visual Studio代码性能分析工具进行了简单的梳理。
AMD CodeXL
2011年发布的AMD代码分析师性能分析器已经被AMD CodeXL取代。AMD CodeXL的主要目的是帮助开发者更好地利用CPU、GPU和APU的计算性能。它拥有强大的GPU调试、CPU和GPU代码分析,以及静态OpenCL内核性能分析。
AMD提供独立的CodeXL分析工具,支持Windows 7、Windows 8和Linux系统。Visual Studio 2010、2012和2013中也有AMD CodeXL的扩展版本,集成了Visual Studio开发环境中GPU和APU的调试和分析能力。旧的AMD代码分析师性能分析器扩展仍然可用。
喷气大脑打点赛
经过四年的长期发展,JetBrains dotTrace现在已经是一个包含代码执行跟踪工具和性能分析工具的套件。它包括两个工具,dotTrace性能和dotTrace内存。dotTrace Performance用于分析代码性能,如函数执行时间、调用次数、消耗时间比等。dotTrace Memory通常用于分析内存占用率。您可以在本地和远程系统中逐行跟踪、采样或分析代码。DotTrace支持微软的。NET框架直到4.5.2版本,并且还可以用来分析单机桌面应用、Web应用、Windows Communication Foundation(WCF)服务等。Silverlight4或5的。新功能包括时间线分析和SQL查询分析。
点迹扩展visual studio图库的网页提供了非常清晰简洁的产品概述。看完概述,如果你对产品感兴趣,可以去JetBrains网站,决定下载或者购买。JetBrains目前提供有时间限制的免费试用版和多个许可选项,比如ReSharper Ultimate包,包括reshapper、dotCover、dotTrace、dotMemory和reshapper c,所有包只需要一个许可证。
RedGate ANTS
RedGate ANTS性能分析工具和ANTS内存分析工具是另一套商业工具,可以用来分析。NET可执行文件、ASP.NET应用程序、IIS中的Web服务、IIS Express、Web开发服务器、SharePoint 2007或2010包、Silverlight应用程序、Windows服务、com应用程序等等。
ANTS性能分析工具(图1)可以帮助分析支持的任何代码库。NET,以及HTTP请求,存储IO,支持SQL server、Oracle、MySQL、MariaDB、PostgreSQL的数据访问。
图1。红门蚂蚁性能分析工具
ANTS内存分析工具可以对内存进行分析。NET更简单。ant内存分析工具可以用来发现内存泄漏和优化应用程序,使其具有更高的内存利用率,可以检查代码的健康状态,并可以分析任何。NET应用程序,包括ASP.NET网络应用程序。
这两个工具支持中任何语言的框架。NET版本1.0到4.5,以及Visual Studio 2005、2008、2010、2012和2013。您可以在RedGate网站上查看试用版和定价。还有一个免费版的ants profiler Visual Studio外接程序扩展,可以直接访问Visual Studio上的性能分析工具和内存分析工具。
Telerik JustTrace
2013年,Telerik获得EQATEC,因此EQATEC分析工具现在是Telerik JustTrace的一部分。NET内存和性能分析工具。JustTrace提供了两种性能分析模式,一种是用于轻量级分析的采样分析工具,另一种是用于收集CLR事件进行进一步分析的跟踪工具。它还有捕捉记忆分析的功能。NET实例分配快照。
JustTrace集成了Visual Studio 2013、2012、2010和2008,也可以作为独立的分析工具使用。Telerik提供了30天的试用期,JustTrace也可以作为DevCraft工具包的一部分。
Visual Studio质量和诊断中心
除了以上分析工具,Visual Studio本身还有内置的优秀分析调试工具,放在Visual Studio的质量与诊断中心。
除了大家熟悉的Visual Studio分析工具外,质量诊断中心还新增了一些工具,其功能包括JavaScript内存分析、HTML UI响应性分析、Windows store应用的XAML UI响应性分析,以及能耗、CPU使用率、内存使用率分析等。此外,Visual Studio 2012中的JavaScript函数时间和性能向导已经更新,并包含在新的质量和诊断中心中。因为这些工具现在可以在中心获得,所以可以在单个分析会话中运行多个工具,并获得相互组合和交叉分析的结果。
您也可以在Visual Studio 2015的性能和诊断页面上运行分析工具。Visual Studio 2015中的一些调试和诊断功能得到了增强,包括支持基于JavaScript的Apache Cordova项目,以及基于C #的Xamarin和Android项目的跨平台调试
其他改进包括在Monitor窗口中单步执行lambda表达式,通过Visual Studio远程工具在其他计算机上运行、调试和测试程序,以及内置HTTP流量数据的网络诊断。
其中许多新工具与强大的Visual Studio 2015诊断工具调试器窗口放在一起,并结合了输出窗口、智能跟踪历史数据以及性能和诊断中心的工具。
其他性能分析工具
除了上面介绍的代码性能分析工具,还有其他专业的代码性能分析工具,很多都是像你这样的程序员开发的,可以免费使用。
Clr堆分配分析器扩展是一个基于Roslyn的C #堆分配诊断分析工具,可用于查看清除分配、装箱分配、闭包捕获等。您可以将分析工具作为独立的应用程序运行,也可以在Visual Studio中作为代码助手工具运行。
Visual c++的可视化泄漏检测器是一个开源的Visual c++内存泄漏检测系统,与Visual Studio调试器配合使用。该项目最初由丹摩尔开发,目前由阿尔卡迪沙普金负责维护。
Frans Bouma的ORM Profiler扩展(图2)允许您实时深入实体框架数据访问代码,以发现性能问题并快速定位。它有在线和离线两种产品分析模式,可以直接从分析结果导航到项目中的相关代码。
图2使用ORM Profiler调试实体框架数据访问
为了检查和优化项目中的静态资源,Mads Kristensen的图像优化器扩展为解决方案资源管理器中的任何文件夹和图标添加了右键菜单,这有助于自动优化文件夹中的所有PNG、GIF和JPEG文件。
最后是Xamarin Profiler,这是一个跨平台的开发框架。在这个框架内,可以使用C#和在Visual Studio中开发安卓和iOS应用程序。NET框架,而不是去Eclipse或购买额外的Mac并使用Xcode。
本文简要介绍了Visual Studio中一些流行的性能分析工具。其实有很多工具可以选择。但是对于程序员来说,最重要的是根据自己的编程习惯和工程项目的特点做出自己的选择。
以上内容相当长,希望大家喜欢。