国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

.NET11個VisualStudio代碼性能分析工具

2019-11-14 15:54:20
字體:
來源:轉載
供稿:網友

原文地址

軟件開發中的性能優化對程序員來說是一個非常重要的問題。一個小問題可能成為一個大的系統的瓶頸。但是對于程序員來說,通過自身去優化代碼是十分困難的。幸運的是,有一些非常棒的工具可以幫助程序員進行代碼分析和性能測試,從而大大簡化程序員進行代碼性能優化的過程。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 版本,也可用于分析 Silverlight 4 或 5 的單機桌面應用程序、Web 應用程序、Windows通信基礎(WCF)服務等。新功能包括時間軸分析(timeline PRofiling和SQL查詢分析。

dotTrace extension Visual Studio Gallery網頁提供了一個非常清晰,簡潔的產品概述。通過看完概述如果你對產品有興趣,可以到JetBrains網站決定下載或購買。

JetBrains 目前提供有時間限制的免費試用版以及幾種許可選項,例如,ReSharper Ultimate 包,其中包括 ReSharper,dotCover,dotTrace,dotMemory,以及 ReSharper C + +,所有包只需要一個許可證。

2015-07-22_142716

2015-07-22_131435

圖 1 JetBrains

RedGate ANTS

RedGate ANTS 性能分析工具和 ANTS 內存分析工具是另一組的商業工具,可用于分析.NET可運行文件,asp.net應用程序,IIS中的Web服務,IIS Express, Web開發服務器,SharePoint 2007或2010年套裝,Silverlight應用程序,Windows服務,和COM +應用程序等。

ANTS 性能分析工具(圖 2)可以幫助分析任何.NET支持的代碼庫,以及HTTP請求,存儲IO,同時支持SQL服務器,Oracle,MySQL,MariaDB,PostgreSQL的數據訪問.

圖 2 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(圖 3)讓你可以實時地深入實體框架數據訪問代碼發現性能問題,并快速定位到它們。它具有在線、離線兩種產品分析模式,可以直接從分析結果導航到項目中的相關代碼。

圖 3 使用ORM Profiler進行實體框架數據訪問的調試

  • 為了檢查和優化項目中的靜態資源,Mads Kristensen的Image Optimizer extension 為解決方案資源管理器中的任何文件夾和圖標添加了右鍵菜單,幫助自動優化文件夾中所有的PNG,GIF和JPEG文件。
  • 最后,還有 Xamarin Profiler,它是一個跨平臺開發框架。在這一框架內,開發 Android 和 iOS 應用可以不用轉到 Eclipse 或者額外購買 Mac 并使用 Xcode,而繼續在Visual Studio之中使用 C# 與 .NET框架進行。

本文簡單介紹了Visual Studio中當前比較流行的一些性能分析工具,事實上還有非常多的工具可供選擇。但對于程序員來說,最重要的是根據自身的編程習慣以及工程項目的特點做出適合自己的選擇。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 盘山县| 嘉善县| 郧西县| 德兴市| 游戏| 珲春市| 太谷县| 玉田县| 武陟县| 惠水县| 出国| 喀喇| 宜良县| 武定县| 韩城市| 平武县| 荣成市| 南漳县| 沙河市| 宁津县| 商丘市| 响水县| 邛崃市| 元阳县| 徐州市| 北碚区| 新和县| 庄河市| 翁牛特旗| 贵溪市| 汕头市| 双桥区| 丹阳市| 怀安县| 榆社县| 南溪县| 云霄县| 保山市| 凌云县| 康乐县| 温宿县|