.NET  Visual Studio 代码性能分析工具

下面通过图文并茂的方式给大家介绍下,具体内容如下:

软件开发中的性能优化对程序员来说是一个非常重要的问题。一个小问题可能成为一个大的系统的瓶颈。但是对于程序员来说,通过自身去优化代码是十分困难的。幸运的是,有一些非常棒的工具可以帮助程序员进行代码分析和性能测试,从而大大简化程序员进行代码性能优化的过程。MSDN杂志2011年7月份曾发布主题为“.NET代码分析工具和技术”的那一期,让广大程序员收获颇丰。四年过去之后,这些工具又进一步做出了很多改进,同时也出现了更多的选择。本文对当前主流的一些Visual Studio代码性能分析工具进行简单的梳理。

  AMD CodeXL

  2011年发布的AMD CodeAnalyst Performance Analyzer 现在已经被AMD CodeXL所替代。AMD CodeXL的主要目的是帮助开发者更好利用CPU, GPU和APU的计算性能,具有强大的GPU调试、CPU和GPU代码分析、及静态的OpenCL内核性能分析等能力。

  AMD提供了支持Windows 7、Windows 8和Linux系统的单机版CodeXL分析工具。在Visual Studio 2010,2012和2013上也有AMD CodeXL的扩展版,其在Visual Studio开发环境中集成了GPU和APU的调试和分析能力。旧的AMD CodeAnalyst Performance Analyzer extension目前仍然可用。

  JetBrains dotTrace

  JetBrains dotTrace经过四年漫长的发展,现在已经是一个包含代码执行跟踪工具和性能分析工具的套件。它包括dotTrace Performance和dotTrace Memory 两个工具,dotTrace Performance用来分析代码性能,比如函数执行时间,调用次数,消耗时间比率等,dotTrace Memory一般用来分析内存占用情况。你可以在本地和远程系统中对代码进行跟踪、采样或逐行分析。dotTrace对微软.NET框架的支持一直到4.5.2版本,也可用于分析Silverlight4或5的单机桌面应用程序、Web应用程序、Windows通信基础(WCF)服务等。新功能包括时间轴分析(timeline profiling)和SQL查询分析。

  dotTrace extension Visual Studio Gallery网页提供了一个非常清晰,简洁的产品概述。通过看完概述如果你对产品有兴趣,可以到JetBrains网站决定下载或购买。
JetBrains目前提供有时间限制的免费试用版以及几种许可选项,例如ReSharper Ultimate包,其中包括ReSharper,dotCover,dotTrace,dotMemory,以及ReSharper 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服务器,Oracle,MySQL,MariaDB,PostgreSQL的数据访问.

图1. Red Gate ANTS 性能分析工具

  ANTS内存分析工具可以使.NET的内存分析更加简单,ANTS内存分析工具可以用来查找内存泄露,优化应用程序,从而使其具有较高的内存使用率,并能检查代码的健康状况,能分析任何.NET应用程序,包括ASP.NET网络应用程序。

  两个工具支持从.NET1.0版本到4.5版本的任何语言的框架,以及Visual Studio 2005、2008、2010、2012和2013。可以在RedGate网站上查看试用版以及定价。同时也有一个免费的版本ANTS Profiler Visual Studio Add-in extension,让你在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应用商店应用的XAML UI响应能力分析,和能量消耗、CPU使用、内存使用情况分析等。此外,Visual Studio 2012中的JavaScript函数时间和性能向导也已经更新,包含在新的质量和诊断中心中。因为这些工具现在都可以在中心中获得,所以可以在一个单独的分析会话中运行多个工具,并获得相互结合和交叉分析的结果。

  你还可以在Visual Studio 2015的性能和诊断页面运行分析工具。Visual Studio 2015中的一些调试和诊断功能得到了增强,包括支持基于JavaScript的Apache Cordova项目,以及基于C # 的Xamarin和Android项目的跨平台调试

  其他改进包括在“监视”窗口通过lambda表达式进行step,通过Visual Studio远程工具运行、调试和测试其他计算机上的程序,内置的HTTP流量数据的网络诊断等。

  许多这些新工具与强大的Visual Studio 2015诊断工具调试器窗口放在了一起,并组合了输出窗口,IntelliTrace历史数据,以及性能和诊断中心的工具。

  其他的性能分析工具

  除了以上介绍的代码性能分析工具,还存在其他的专业的代码性能分析工具,其中许多是由和你一样的程序员所开发,并可供免费使用。

  Clr Heap Allocation Analyzer extension是一个基于Roslyn的C #堆分配诊断分析工具,可以用于查看清晰的分配,boxing分配,闭包捕获等。您可以作为一个单机版的应用程序或作为Visual Studio内部的代码辅助工具运行该分析工具。

  Visual Leak Detector for Visual C++是一个开源的Visual C++内存泄漏检测系统,它与Visual Studio调试器一起工作。最初由Dan Moulding开发,项目目前由Arkadiy shapkin维护。

  Frans Bouma的ORM Profiler extension(图2)让你可以实时地深入实体框架数据访问代码发现性能问题,并快速定位到它们。它具有在线、离线两种产品分析模式,可以直接从分析结果导航到项目中的相关代码。

图2 使用ORM Profiler进行实体框架数据访问的调试

  为了检查和优化项目中的静态资源,Mads Kristensen的Image Optimizer extension 为解决方案资源管理器中的任何文件夹和图标添加了右键菜单,帮助自动优化文件夹中所有的PNG,GIF和JPEG文件。

  最后,还有 Xamarin Profiler,它是一个跨平台开发框架。在这一框架内,开发 Android 和 iOS 应用可以不用转到 Eclipse 或者额外购买 Mac 并使用 Xcode,而继续在Visual Studio之中使用 C# 与 .NET框架进行。

  本文简单介绍了Visual Studio中当前比较流行的一些性能分析工具,事实上还有非常多的工具可供选择。但对于程序员来说,最重要的是根据自身的编程习惯以及工程项目的特点做出适合自己的选择。

以上内容比较长,希望大家能够喜欢。

(0)

相关推荐

  • 代码从windows下visual studio到andriod平台迁移实现步骤

    代码从windows下visual studio到andriod平台迁移实现步骤: 前言 前言也是迁言,从windows的visual studio 2012平台迁移到Android平台上,需用修改挺多的代码和需用注意地方. 我们当然的平台当初就考虑了其他平台跨平台的应用问题,所以一开始在windows下就是用cmake来完成工程的建立的,cMakeLists.txt文件都做了一些处理,但是此时只是更针对或说首先保证windows下的编译和使用. 谨此做个记录. 1. modify cMakeL

  • 配置Visual Studio 以调试.net framework源代码第1/2页

    基本步骤注意,这个功能在Visual Studio 2008 Express版里不支持.1)安装Visual Studio 2008 QFE.这个QFE只是更新一个Visual Studio调试器的DLL,以便可以获取源代码,更多细节参加下载页面.2)运行Visual Studio 2008依次展开Tools->Options->Debugging->General.如果你在Visual Basic Profile环境下运行,你需要将lower left of the Options D

  • Visual Studio 中自定义代码片段的方法

    第一步.打开 Visual Studio Code,按Ctrl + Shift + P,输入:Configure User Snippets,选择 Preferences:Configure User Snippets. 第二步.回车后,选择一个配置文件,或者新建一个配置文件,我选择的是 HTML 配置文件. 第三步.按照示例添加吧,JSON 格式. 我增加了两个,一个是 style 的,一个是 script 的,如下: { "Add style tag": { "prefi

  • 使用 Visual Studio 的“代码度量值”来改进代码质量

    代码度量是一组软件度量值,使开发人员可以更好地了解他们正在开发的代码. 利用代码度量,开发人员可以了解哪些类型和/或方法应该返工或进行更彻底的测试. 开发团队可以识别潜在的风险.了解项目的当前状态,并跟踪软件开发的进度. 1 软件度量值指标 1.1 可维护性指数 表示源代码的可维护性,数值越高可维护性越好.该值介于0到100之间.绿色评级在20到100之间,表明该代码具有高度的可维护性:黄色评级在10到19之间,表示该代码适度可维护:红色评级在0至9之间,表示低可维护性. 1.2 圈复杂度 它是

  • C++运算符重载实例代码详解(调试环境 Visual Studio 2019)

    最近看了菜鸟教程里的C++教程 遇到很多运算符重载,为了方便我的学习,我把这些总结了一下 如有错误(包括之前的博文)请评论留言,谢谢! 由于代码里注释的很清楚,我就不做过多的解释了. 下面是这次总结的头文件,用来放置一些类和方法. //C++运算符重载实例.h #pragma once #include <iostream> using namespace std; class chongzai { private: int i, j, k; public: chongzai() { i =

  • .NET Visual Studio 代码性能分析工具

    下面通过图文并茂的方式给大家介绍下,具体内容如下: 软件开发中的性能优化对程序员来说是一个非常重要的问题.一个小问题可能成为一个大的系统的瓶颈.但是对于程序员来说,通过自身去优化代码是十分困难的.幸运的是,有一些非常棒的工具可以帮助程序员进行代码分析和性能测试,从而大大简化程序员进行代码性能优化的过程.MSDN杂志2011年7月份曾发布主题为".NET代码分析工具和技术"的那一期,让广大程序员收获颇丰.四年过去之后,这些工具又进一步做出了很多改进,同时也出现了更多的选择.本文对当前主流

  • .NET  Visual Studio 代码性能分析工具

    下面通过图文并茂的方式给大家介绍下,具体内容如下: 软件开发中的性能优化对程序员来说是一个非常重要的问题.一个小问题可能成为一个大的系统的瓶颈.但是对于程序员来说,通过自身去优化代码是十分困难的.幸运的是,有一些非常棒的工具可以帮助程序员进行代码分析和性能测试,从而大大简化程序员进行代码性能优化的过程.MSDN杂志2011年7月份曾发布主题为".NET代码分析工具和技术"的那一期,让广大程序员收获颇丰.四年过去之后,这些工具又进一步做出了很多改进,同时也出现了更多的选择.本文对当前主流

  • Java CPU性能分析工具代码实例

    这篇文章主要介绍了Java CPU性能分析工具代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 背景 有处理过生产问题的同学基本都能遇到系统忽然缓慢,CPU突然飙升,甚至整个应用请求不可用.当出现这种情况下,在不影响数据准确性的前提下,我们应该尽快导出jstack和内存信息,然后重启系统,尽快回复系统的可用性,避免用户体验过差.本文针对CPU飙升问题,提供该问题的排查思路,从而能够快速定位到某线程甚至某快代码导致CPU飙升,从而提供处理该

  • Python性能分析工具pyinstrument提高代码效率

    目录 安装 简单的使用 分析 Flask 代码 分析 Django 代码 分析异步代码 工作原理 最后的话 天下武功,唯快不破. 编程也不例外,你的代码跑的快,你能快速找出代码慢的原因,你的码功就高. 安装 pip install pyinstrument 简单的使用 在程序的开始,启动 pyinstrument 的 Profiler,结束时关闭 Profiler 并打印分析结果如下: from pyinstrument import Profiler profiler = Profiler()

  • Visual Studio 2010 前端开发工具/扩展/插件推荐

    怎么样让Visual Studio更好地编写HTML5, CSS3, JavaScript, jQuery,换句话说就是如何更好地做前端开发.Visual Studio 2010不管是旗舰版还是免费版都没有对前端开发方面做充分的优化.不要希望VS默认安装这些东西,我们有很多VS的扩展可是使用. 这里列出的大多数扩展都可以使用Extension Manager (Tools > Extension Manager)来安装,你可以通过Visual Studio Gallery网站下载这些扩展. We

  • php轻量级的性能分析工具xhprof的安装使用

    一.前言 有用的东西还是记录下来吧,也方便以后的查询:这次记录一下xhprof的安装使用: xhprof是facebook开源出来的一个php轻量级的性能分析工具,跟Xdebug类似,但性能开销更低, 还可以用在生产环境中,也可以由程序开 关来控制是否进行profile. 二.安装 wget http://pecl.php.net/get/xhprof-0.9.3.tgz tar zxf xhprof-0.9.3.tgz cd xhprof-0.9.3/extension /usr/bin/ph

  • PHP性能分析工具XHProf安装使用教程

    HProf是facebook开源出来的一个php轻量级的性能分析工具,跟Xdebug类似,但性能开销更低,还可以用在生产环境中,也可以由程序开关来控制是否进行profile.基于浏览 器的性能分析用户界面能更容易查看,或是与同行们分享成果.也能绘制调用关系图.在数据收集阶段,它记录调用次数的追踪和包容性的指标弧在动态callgraph的一个程序. 它独有的数据计算的报告/后处理阶段.在数据收集时,XHProfd通过检测循环来处理递归的函数调用,并通过给递归调用中每个深度的调用一个有用的命名来避开

  • IE 性能分析工具(asp.net环境)

    dynaTrace AJAX 是一个页面性能分析工具,是针对浏览器 IE 6 ~ 8 的.它可以用来分析页面渲染时间.DOM方法执行时间,甚至可以看到 JS 代码的解析时间.JQuery 的老爹 John Resig 也鼎力推荐了一把. 这个工具应该很有用,因为用 IE 的人实在是太多了~~万恶的IE6 ! 去下载:dynaTrace AJAX

  • Python性能分析工具Profile使用实例

    这篇文章主要介绍了Python性能分析工具Profile使用实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码优化的前提是需要了解性能瓶颈在什么地方,程序运行的主要时间是消耗在哪里,对于比较复杂的代码可以借助一些工具来定位,python 内置了丰富的性能分析工具,如 profile,cProfile 与 hotshot 等.其中 Profiler 是 python 自带的一组程序,能够描述程序运行时候的性能,并提供各种统计帮助用户定位程序

  • Python性能分析工具py-spy原理用法解析

    Py-Spy介绍 引用官方的介绍: Py-Spy是Python程序的抽样分析器. 它允许您可视化查看Python程序在哪些地方花了更多时间,整个监控方式无需重新启动程序或以任何方式修改工程代码. Py-Spy的开销非常低:它是用Rust编写的,速度与编译的Python程序不在同一个进程中运行. 这意味着Py-Spy可以安全地用于生成生产环境中的Python应用调优分析. github:https://github.com/benfred/py-spy 安装 pip install py-spy

随机推荐