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框架进行。

转自https://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=403445713&idx=1&sn=4717009aa3060a7c6f5d06cec17e0c84&mpshare=1&scene=1&srcid=0416hLE7mbAYO07TWOb9BGt0&pass_ticket=H2DtW%2F81GOxQRsjnoSzLuDs1trj3gTRVXRIin2VXoUPsh0zX1adSXCeCZ2tJLGua#rd

时间: 2024-10-13 22:02:03

Visual Studio代码性能分析工具的相关文章

11个Visual Studio代码性能分析工具

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

11 个 Visual Studio 代码性能分析工具

软件开发中的性能优化对程序猿来说是一个很重要的问题. 一个小问题可能成为一个大的系统的瓶颈. 可是对于程序猿来说.通过自身去优化代码是十分困难的.幸运的是.有一些很棒的工具能够帮助程序猿进行代码分析和性能測试,从而大大简化程序猿进行代码性能优化的过程.MSDN 杂志 2011 年 7 月份曾公布主题为".NET 代码分析工具和技术"的那一期.让广大程序猿收获颇丰.四年过去之后,这些工具又进一步做出了非常多改进,同一时候也出现了很多其它的选择.很多其它应用代码安全工具请点击:http:/

Java性能优化指南系列(二):Java 性能分析工具

进行JAVA程序性能分析的时候,我们一般都会使用各种不同的工具.它们大部分都是可视化的,使得我们可以直观地看到应用程序的内部和运行环境到底执行了什么操作,所以性能分析(性能调优)是依赖于工具的.在第2章,我强调了基于数据驱动的性能测试是非常重要的,我们必须测试应用的性能并理解每个指标的含义.性能分析和数据驱动非常类似,为了提升应用程序的性能,我们必须获取应用运行的相关数据.如何获取这些数据并理解它们是本章的主题.[本章重点介绍JDK中提供的性能分析工具] 操作系统工具及其分析 程序分析的起点并不

代码阅读分析工具Understand 2.0试用

Understand 2.0是一款源码阅读分析软件,功能强大.试用过一段时间后,感觉相当不错,确实能够大大提高代码阅读效率.因为Understand功能十分强大,本文不可能详尽地介绍它的全部功能,所以仅仅列举本人觉得比較重要或有特色的功能,以做抛砖引玉之举. Understand 2.0能够从http://www.scitools.com/下载到,安装后能够试用15天. 使用Understand阅读代码前,要先创建一个Project,然后把全部的源码文件增加到这个Project里.这里我创建了一

Java 性能分析工具 , 第 2 部分:Java 内置监控工具

引言 本文为 Java 性能分析工具系列文章第二篇,第一篇:操作系统工具.在本文中将介绍如何使用 Java 内置监控工具更加深入的了解 Java 应用程序和 JVM 本身.在 JDK 中有许多内置的工具,其中包括: jcmd:打印一个 Java 进程的类,线程以及虚拟机信息.适合用在脚本中.使用 jcmd - h 来查看使用方法. jconsole:提供 JVM 活动的图形化展示,包括线程使用,类使用以及垃圾回收(GC)信息. jhat:帮助分析内存堆存储. jmap:提供 JVM 内存使用信息

Android 常用的性能分析工具详解:GPU呈现模式, TraceView, Systrace, HirearchyViewer(转)

此篇将重点介绍几种常用的Android性能分析工具: 一.Logcat 日志 选取Tag=ActivityManager,可以粗略地知道界面Displaying的时间消耗.当我们打开一个Activity的时候,log会打印一串log如下: I/ActivityManager﹕ Displayed xxx.xxx.xxx/TestActivity: +1s272ms (total +3s843ms) 第一个时间表示系统接受到打开的intent到TestActivity界面显示出来的时间1.272秒

三种Linux性能分析工具的比较

无论是在CPU设计.服务器研发还是存储系统开发的过程中,性能总是一个绕不过去的硬指标.很多时候,我们发现系统功能完备,但就是性能不尽如意,这时候就需要找到性能瓶颈.进行优化.首先我们需要结合硬件特点.操作系统和应用程序的特点深入了解系统内部的运行机制.数据流图和关键路径,最好找出核心模块.建立起抽象模型:接着需要利用各种性能分析工具,探测相关模块的热点路径.耗时统计和占比.在这方面,Linux操作系统自带了多种灵活又具有专对性的工具,此外一些厂家也开源了不少优秀的性能分析工具.下面就结合笔者最近

代码性能分析

代码性能优化 优化是对代码进行等价变换,使得变换后的代码运行结果与变换前的代码运行结果相同,但执行速度加快或存储开销减少. 代码性能优化是一门复杂的学问. 根据 80/20 原则,实现程序的重构.优化.扩展以及文档相关的事情通常需要消耗80% 的工作量. 在满足正确性.可靠性.健壮性.可读性等质量因素的前提下,设法提高程序的效率 以提高程序的全局效率为主,提高局部效率为辅 在优化程序效率时,应先找出限制效率的“瓶颈” 先优化数据结构和算法,再优化执行代码 时间效率和空间效率可能是对立的,应当分析

系统级性能分析工具perf的介绍与使用

测试环境:Ubuntu14.04  on VMWare Kernel:3.13.0-32 系统级性能优化通常包括两个阶段:性能剖析(performance profiling)和代码优化.性能剖析的目标是寻找性能瓶颈,查找引发性能问题的原因及热点代码.代码优化的目标是针对具体性能问题而优化代码或编译选项,以改善软件性能. 在性能剖析阶段,需要借助于现有的profiling工具,如perf等.在代码优化阶段往往需要借助开发者的经验,编写简洁高效的代码,甚至在汇编级别合理使用各种指令,合理安排各种指