`
徐晓一清
  • 浏览: 1266 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

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

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 中当前比较流行的一些性能分析工具,事实上还有非常多的工具可供选择。但对于程序员来说,最重要的是根据自身的编程习惯以及工程项目的特点做出适合自己的选择。

分享到:
评论

相关推荐

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

    下面通过图文并茂的方式给大家介绍下,具体内容如下: 软件开发中的性能优化对程序员来说是一个非常重要的问题。...本文对当前主流的一些Visual Studio代码性能分析工具进行简单的梳理。  AMD CodeXL  2011年发布

    Visual Studio详细安装教程

    测试工具:Visual Studio 提供了多种测试工具,如单元测试、性能测试、功能测试等,可以帮助开发者自动测试代码并生成测试报告。 插件支持:Visual Studio 是一个开放的平台,可以通过插件来扩展其功能,开发者可以...

    [Visual.Studio.2010.高级编程

    与有用的例子可携带的,这个综合指南解释了如何的Visual Studio 2010为您提供一个在IDE的演变开始独特的外观:提高代码导航,注释,并与基于WPF的外壳扩展,更好的性能和本机代码的可扩展性;和基本改善调试和测试...

    ASP.NET 2.0 跟我一起学Visual.Studio2005 2/9

    课程简介:软件产品的稳定和性能离不开高质量的代码,以往的开发工具只是一个代码编辑器,Visual Studio 2005 Team Edition for Developers为我们提供了多个确保代码质量的工具,本节课将和大家一起来讨论这些工具。...

    Microsoft Visual Studio c++Express

    而Visual Studio .NET是用于快速生成企业级ASP.NET Web应用程序和高性能桌面应用程序的工具。Visual Studio包含基于组件的开发工具(如Visual C#、Visual J#、Visual Basic和Visual C++),以及许多用于简化基于小组...

    Visual Studio 2010 高级编程(英文)part2

    与有用的例子可携带的,这个综合指南解释了如何的Visual Studio 2010为您提供一个在IDE的演变开始独特的外观:提高代码导航,注释,并与基于WPF的外壳扩展,更好的性能和本机代码的可扩展性;和基本改善调试和测试...

    Visual Studio 2010 高级编程(英文)part3

    与有用的例子可携带的,这个综合指南解释了如何的Visual Studio 2010为您提供一个在IDE的演变开始独特的外观:提高代码导航,注释,并与基于WPF的外壳扩展,更好的性能和本机代码的可扩展性;和基本改善调试和测试...

    使用Visual Studio Team Foundation Server进行团队开发

    本书共分四部分,此为第一部分 包括基础知识、源代码管理、生成、大型项目考虑事项 项目管理、过程指南、报告、设置和维护团队环境和 Visual Studio 2008 Team Foundation Server等九章节 <br>Jeff ...

    ASP.NET 2.0 跟我一起学Visual.Studio2005 1/9

    课程简介:软件产品的稳定和性能离不开高质量的代码,以往的开发工具只是一个代码编辑器,Visual Studio 2005 Team Edition for Developers为我们提供了多个确保代码质量的工具,本节课将和大家一起来讨论这些工具。...

    Visual.Studio.2010.高级编程.part1

    与有用的例子可携带的,这个综合指南解释了如何的Visual Studio 2010为您提供一个在IDE的演变开始独特的外观:提高代码导航,注释,并与基于WPF的外壳扩展,更好的性能和本机代码的可扩展性;和基本改善调试和测试...

    Visual.Studio.2010.高级编程.part2

    与有用的例子可携带的,这个综合指南解释了如何的Visual Studio 2010为您提供一个在IDE的演变开始独特的外观:提高代码导航,注释,并与基于WPF的外壳扩展,更好的性能和本机代码的可扩展性;和基本改善调试和测试...

    微软开源的CPU和内存性能分析工具 PerfView.zip

    主要功能如下:非侵入性收集 Xcopy 部署千兆字节堆栈快照对比文件转储配置文件比较CPU 性能追踪原生和混合代码托管XPerf 日志阅读建立 perfview 需要的工具:Visual Studio 2013 或更高版本,建议 Visual Studio ...

    DriverStudio 3.2+注册码

    BoundsChecker Driver Edition是一个错误侦测工具,可以实施分析和侦测设备驱动 程序的错误。开发人员可以马上发现并修正这些错误,不用像以前那样要在数小时后 才能完成。新增的改进还有: 开发人员修改程序设置...

    NCrunch 3.14.0.1 for Visual Studio 2008-2017 破解版

    NCrunch是一款为 Visual Studio .NET 开发的的自动化并行连续测试工具。它能够运行自动测试,并且在IDE里显示相应的测试信息(如代码覆盖和性能指标)

    Intel_parallel_studio_xe_2013_sp1_update3_for_windows

    英特尔® Parallel Studio XE 为 C/C++ 和 Fortran 开发人员提供了具有一流性能的编译器和库、正确的并行编程模型以及补充和兼容的分析工具。它可以无缝地插入到 Visual Studio* 和 GNU 工具链中,从而在保持工作...

    VS2017+IVF2018.docx

    而 Visual Studio .NET 是用于快速生成企业级 ASP.NET Web 应用程序和高性能桌面应用程序的工具。Visual Studio 包含基于组件的开发工具(如 Visual C#、Visual J#、Visual Basic 和 Visual C++),以及许多用于简化...

    Visual Assist

    Visual Assist X作为一种低优先度的后台线程插件,不影响您的IDE环境性能。该线程在idle期间活动,当您开始输入代码时,又回复为静默状态。并且它的剖析器不生成目标码,因此,同传统剖析器相比,占用更少的资源。 ...

    使用Visual Studio 2005 Team Foundation Server 进行团队开发(第一部分)

    这份指南介绍如何更好地利用 Visual Studio 2005 Team Foundation Server 来帮助改进基于团队的软件 开发的效率。无论您是 Team Foundation Server 的老用户还是新用户,都会找到适于您具体情况的指南 和深入见解...

    asp.studio.2006

    ASP Studio 2006内嵌ASP调试服务器,是一个集ASP代码编辑、程序调试于一体的高性能的ASP项目开发工具。只需简单的建立一个ASP项目,无需配置任何服务器, 便可在内置自带调试功能的ASP服务器的配合下实现ASP项目的...

Global site tag (gtag.js) - Google Analytics