日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何定位Source Generators性能问题

發布時間:2023/12/4 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何定位Source Generators性能问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

在以前的文章中,我們介紹過如何調試Source Generators。但是當實現較為復雜時,我們需要能夠快速地分析Source Generators性能的方法。

默認情況下,使用VS 2019自帶的“性能探查器”不能分析Source Generators項目,因為它是類庫項目:

如果設置引用Source Generators的目標項目作為啟動項目,也不行。因為“性能探查器”只能收集啟動時的數據,而不是編譯時,而編譯時才是Source Generators實際執行的位置。

怎么辦?

那就想辦法啟動編譯指令。

獲取編譯指令

這時就要祭出我們在《你知道MSBuild都干了些什么》使用過的神器——MSBuild Structured Log Viewer。

生成日志后,可以看到MSBuild準備執行的所有目標,每個目標中包含多個任務。

我們瀏覽所有任務,最終可以定位到引用Source Generators的目標項目執行的Task Csc:?

Csc 任務 - 包裝 csc.exe,生成可執行 (.exe) 文件、動態鏈接庫(.dll 文件)或者代碼模塊(.netmodule 文件) 。有關 csc.exe 的詳細信息,請參閱 C# 編譯器選項 。

這里的CommandLineArguments就是我們要的編譯指令。

設置調試屬性

打開Source Generators項目的屬性窗口,設置“調試”屬性:

  • 啟動:可執行文件

  • 可執行文件:Task Csc參數CommandLineArguments里的csc.exe全路徑

  • 應用程序參數:Task Csc參數CommandLineArguments里的csc.exe后面的全內容

  • 工作目錄:引用Source Generators的目標項目所在目錄

執行性能探查器

將Source Generators項目設為啟動項目,然后運行“性能探查器”,勾選“CPU 使用率”,然后點擊“開始”按鈕。

運行完成后,在打開的報告中就可以查看Source Generators的性能瓶頸了:

如果你覺得這篇文章對你有所啟發,請關注我的個人公眾號”My IO“

總結

以上是生活随笔為你收集整理的如何定位Source Generators性能问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。