共用方式為


ProfileOptimization 類別

定義

透過根據先前編譯建立的設定檔,對可能執行的方法進行背景編譯,提升需要即時編譯(JIT)應用程式領域的啟動效能。

public ref class ProfileOptimization abstract sealed
public static class ProfileOptimization
type ProfileOptimization = class
Public Class ProfileOptimization
繼承
ProfileOptimization

備註

備註

  • 配置優化需要多核心電腦。 這些方法在其他電腦上被忽略。
  • 此 API 可縮短啟動時間。 這些改進與 動態配置型導向優化(Dynamic PGO)相輔相成,後者根據觀察到的執行模式改善執行時最佳化。

每次在應用程式領域啟動設定檔優化時,會讀取上一次使用時建立的設定檔。 設定檔中的資訊用來指導背景編譯,找出啟動時最可能執行的方法。 在多核心電腦上,這增加了方法在需要時已經編譯完成的機率,使主應用程式執行緒不必呼叫 JIT 編譯器。

每次使用時,設定檔都會被覆寫,因此它總是包含啟動時使用方法的最新資訊。

優化設定檔不限於應用領域啟動階段。 它們可用於任何需要大量使用 JIT 編譯器的活動。 你可以為一個應用程式域維護多個設定檔,讓每個活動都有自己的設定檔。

要在應用程式領域中使用優化設定檔,您必須呼叫該 SetProfileRoot 方法並指定設定檔存放的資料夾。 資料夾必須已經存在。 要開始使用設定檔,請呼叫該 StartProfile 方法並指定設定檔的檔名。 如果檔案之前沒有被記錄,那它會在第一次使用時建立。 第一次建立設定檔時沒有效能上的提升。

配置優化不會改變方法執行的順序。 方法不會在背景執行緒上執行;如果某方法被編譯但從未呼叫,則該方法根本不被使用。 如果設定檔檔案損壞或無法寫入指定資料夾(例如該資料夾不存在),程式執行仍需進行,無需優化剖析。

方法

名稱 Description
SetProfileRoot(String)

啟用目前應用領域的優化設定檔,並設定優化設定檔儲存的資料夾。 在單核心電腦上,這個方法會被忽略。

StartProfile(String)

在背景執行緒中,開始即時編譯先前記錄在指定設定檔中的方法。 開始記錄目前方法的使用情況,之後會覆寫指定的設定檔。

適用於