1. 程式人生 > >11 個 Visual Studio 代碼性能分析工具

11 個 Visual Studio 代碼性能分析工具

集成 line add 一個 能夠 max sta 過程 preview

軟件開發中的性能優化對程序猿來說是一個很重要的問題。

一個小問題可能成為一個大的系統的瓶頸。

可是對於程序猿來說。通過自身去優化代碼是十分困難的。幸運的是。有一些很棒的工具能夠幫助程序猿進行代碼分析和性能測試,從而大大簡化程序猿進行代碼性能優化的過程。MSDN 雜誌 2011 年 7 月份曾公布主題為“.NET 代碼分析工具和技術”的那一期。讓廣大程序猿收獲頗豐。四年過去之後,這些工具又進一步做出了非常多改進,同一時候也出現了很多其它的選擇。很多其它應用代碼安全工具請點擊:http://t.cn/zQ6JvmN

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 開發server,SharePoint 2007 或 2010 年套裝。Silverlight 應用程序。Windows 服務。和 COM + 應用程序等。

ANTS 性能分析工具(圖1)能夠幫助分析不論什麽 .NET 支持的代碼庫,以及 HTTP 請求,存儲 IO,同一時候支持 SQL server。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 中當前比較流行的一些性能分析工具,其實還有許多的工具可供選擇。但對於程序猿來說,最重要的是依據自身的編程習慣以及project項目的特點做出適合自己的選擇。

11 個 Visual Studio 代碼性能分析工具