隨著 Visual Studio 16.10 的釋出,效能分析器又有了一個新的分析引擎,.NET 物件分配工具是第一個加入的工具。這為該工具提供了一些新特性,並顯著提高了 perf 效能。在你的 C# 應用中嘗試一下,看看你可以刪除哪些虛假的分配來加速你的應用!
新變化
.NET 物件分配工具現在支援 Source Link,該工具可以在訪問原始檔時下拉原始檔。這可以讓您確切地看到分配在哪裡發生,即使它們不在您的程式碼中。
搜尋現在有自動完成建議,以幫助您更快找到和挖掘報告。
最後,我們在 Collections 檢視中新增了額外的資訊,以便對 .NET 垃圾收集器(GC)有更多的瞭解。現在您可以看到為什麼會發生 GC,以及相關的統計資訊,如花費了多長時間、堆大小和收集了多少物件。
讓我們看一些數字
我們花費最多精力的領域之一是提高 .NET 物件分配工具的效能。為此,我們將重點放在該工具執行的兩大任務上:
-
-
- 構建用於查詢檢視分配的初始分配模型。
-
-
-
- 構建呼叫樹,它用於顯示呼叫樹、函式和回溯檢視。
-
在下面的表格中,您可以看到這個工具在 Visual Studio 的最新版本中執行得更快。
正如你所看到的,我們的速度明顯加快了,這些資料並不是在公平的基礎上完成的,因為新版本做了更多的分析,但仍然比之前的版本快!
這個工具只是開始。我們將這些變化擴充套件到 Visual Studio 2022 的效能分析器中的其他工具,並對如何節省更多的時間有更多的想法。期待您的分析體驗能更快地完成!
來和我們聊聊吧
我們希望聽到您的反饋。如果您想分享您的反饋或與我們的工程團隊聊聊如何改進這個工具,請填寫微軟的調查問卷。
原文連結
https://devblogs.microsoft.com/visualstudio/net-object-allocation-tool-performance/