ProfileOptimization 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
根據先前編譯期間所建立的設定檔,對可能要執行的方法執行背景編譯,改善需要 Just-In-Time (JIT) 編譯器之應用程式的應用程式定義域啟動效能。
public ref class ProfileOptimization abstract sealed
public static class ProfileOptimization
type ProfileOptimization = class
Public Class ProfileOptimization
- 繼承
-
ProfileOptimization
備註
重要
設定檔優化需要多核心電腦。 其他電腦上會忽略方法。
每次您在應用程式域中起始設定檔優化時,都會讀取先前使用期間建立的設定檔。 設定檔中的資訊可用來識別最有可能在啟動期間執行的方法,以引導背景編譯。 在多核心電腦上,這會增加方法在需要時已經編譯的機會,讓主要應用程式執行緒不需要呼叫 JIT 編譯程式。
設定檔檔會在每次使用時遭到覆寫,因此它一律會包含啟動期間使用哪些方法的最新資訊。
優化設定檔不限於應用程式域啟動。 它們可用於需要大量使用 JIT 編譯程式的任何活動。 您可以維護應用程式域的多個設定檔,讓每個這類活動都有自己的設定檔。
若要在應用程式域中使用優化設定檔,您必須呼叫 SetProfileRoot 方法,並指定設定檔儲存所在的資料夾。 資料夾必須已經存在。 若要開始使用設定檔,請呼叫 StartProfile 方法並指定設定檔的檔案名。 如果先前未記錄檔案,則會在第一次使用時建立檔案。 第一次建立設定檔時,沒有效能優勢。
設定檔優化不會變更執行方法的順序。 方法不會在背景執行緒上執行;如果方法已編譯但從未呼叫,則不會使用。 例如,如果設定檔檔損毀或無法寫入指定的資料夾 (,因為資料夾不存在) ,程式執行會繼續執行,而不會進行優化分析。
方法
SetProfileRoot(String) |
啟用對目前應用程式定義域的最佳化程式碼剖析,並設定儲存最佳化設定檔的資料夾。 單核心電腦上,這個方法會被忽略。 |
StartProfile(String) |
在背景執行緒中,對先前指定設定檔名稱中記錄的方法啟動 just-in-time (JIT) 編譯。 開始錄製目前的方法使用,稍後會覆寫指定的設定檔檔案。 |