ProfileOptimization 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
透過根據先前編譯建立的設定檔,對可能執行的方法進行背景編譯,提升需要即時編譯(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) |
在背景執行緒中,開始即時編譯先前記錄在指定設定檔中的方法。 開始記錄目前方法的使用情況,之後會覆寫指定的設定檔。 |