音效素材网提供各类素材,打造精品素材网站!

站内导航 站长工具 投稿中心 手机访问

音效素材

.NET  Visual Studio 代码性能分析工具
日期:2021-09-07 22:04:28   来源:脚本之家

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

软件开发中的性能优化对程序员来说是一个非常重要的问题。一个小问题可能成为一个大的系统的瓶颈。但是对于程序员来说,通过自身去优化代码是十分困难的。幸运的是,有一些非常棒的工具可以帮助程序员进行代码分析和性能测试,从而大大简化程序员进行代码性能优化的过程。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中当前比较流行的一些性能分析工具,事实上还有非常多的工具可供选择。但对于程序员来说,最重要的是根据自身的编程习惯以及工程项目的特点做出适合自己的选择。

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

    您感兴趣的教程

    在docker中安装mysql详解

    本篇文章主要介绍了在docker中安装mysql详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编...

    详解 安装 docker mysql

    win10中文输入法仅在桌面显示怎么办?

    win10中文输入法仅在桌面显示怎么办?

    win10系统使用搜狗,QQ输入法只有在显示桌面的时候才出来,在使用其他程序输入框里面却只能输入字母数字,win10中...

    win10 中文输入法

    一分钟掌握linux系统目录结构

    这篇文章主要介绍了linux系统目录结构,通过结构图和多张表格了解linux系统目录结构,感兴趣的小伙伴们可以参考一...

    结构 目录 系统 linux

    PHP程序员玩转Linux系列 Linux和Windows安装

    这篇文章主要为大家详细介绍了PHP程序员玩转Linux系列文章,Linux和Windows安装nginx教程,具有一定的参考价值,感兴趣...

    玩转 程序员 安装 系列 PHP

    win10怎么安装杜比音效Doby V4.1 win10安装杜

    第四代杜比®家庭影院®技术包含了一整套协同工作的技术,让PC 发出清晰的环绕声同时第四代杜比家庭影院技术...

    win10杜比音效

    纯CSS实现iOS风格打开关闭选择框功能

    这篇文章主要介绍了纯CSS实现iOS风格打开关闭选择框,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作...

    css ios c

    Win7如何给C盘扩容 Win7系统电脑C盘扩容的办法

    Win7如何给C盘扩容 Win7系统电脑C盘扩容的

    Win7给电脑C盘扩容的办法大家知道吗?当系统分区C盘空间不足时,就需要给它扩容了,如果不管,C盘没有足够的空间...

    Win7 C盘 扩容

    百度推广竞品词的投放策略

    SEM是基于关键词搜索的营销活动。作为推广人员,我们所做的工作,就是打理成千上万的关键词,关注它们的质量度...

    百度推广 竞品词

    Visual Studio Code(vscode) git的使用教程

    这篇文章主要介绍了详解Visual Studio Code(vscode) git的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。...

    教程 Studio Visual Code git

    七牛云储存创始人分享七牛的创立故事与

    这篇文章主要介绍了七牛云储存创始人分享七牛的创立故事与对Go语言的应用,七牛选用Go语言这门新兴的编程语言进行...

    七牛 Go语言

    Win10预览版Mobile 10547即将发布 9月19日上午

    微软副总裁Gabriel Aul的Twitter透露了 Win10 Mobile预览版10536即将发布,他表示该版本已进入内部慢速版阶段,发布时间目...

    Win10 预览版

    HTML标签meta总结,HTML5 head meta 属性整理

    移动前端开发中添加一些webkit专属的HTML5头部标签,帮助浏览器更好解析HTML代码,更好地将移动web前端页面表现出来...

    移动端html5模拟长按事件的实现方法

    这篇文章主要介绍了移动端html5模拟长按事件的实现方法的相关资料,小编觉得挺不错的,现在分享给大家,也给大家...

    移动端 html5 长按

    HTML常用meta大全(推荐)

    这篇文章主要介绍了HTML常用meta大全(推荐),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参...

    cdr怎么把图片转换成位图? cdr图片转换为位图的教程

    cdr怎么把图片转换成位图? cdr图片转换为

    cdr怎么把图片转换成位图?cdr中插入的图片想要转换成位图,该怎么转换呢?下面我们就来看看cdr图片转换为位图的...

    cdr 图片 位图

    win10系统怎么录屏?win10系统自带录屏详细教程

    win10系统怎么录屏?win10系统自带录屏详细

    当我们是使用win10系统的时候,想要录制电脑上的画面,这时候有人会想到下个第三方软件,其实可以用电脑上的自带...

    win10 系统自带录屏 详细教程

    + 更多教程 +
    ASP编程JSP编程PHP编程.NET编程python编程