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) 編譯。 開始錄製目前的方法使用,稍後會覆寫指定的設定檔檔案。

適用於