Share via


ProfileOptimization 類別

定義

根據先前編譯期間所建立的設定檔,對可能要執行的方法執行背景編譯,改善需要 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) 編譯。 開始錄製目前的方法使用,稍後會覆寫指定的設定檔檔案。

適用於