ProfileOptimization Osztály

Definíció

Javítja az alkalmazástartományok indítási teljesítményét azokban az alkalmazásokban, amelyekhez szükség van az igény szerinti (JIT) fordítóra, és a korábbi fordítások során létrehozott profilok alapján háttér-összeállítást végez a valószínűleg végrehajtandó metódusokról.

public ref class ProfileOptimization abstract sealed
public static class ProfileOptimization
type ProfileOptimization = class
Public Class ProfileOptimization
Öröklődés
ProfileOptimization

Megjegyzések

Note

  • A profiloptimalizáláshoz többmagos számítógép szükséges. A metódusok figyelmen kívül lesznek hagyva más számítógépeken.
  • Ez az API csökkenti az indítási időt. Ezek a fejlesztések kiegészítik a dinamikus profilalapú optimalizálást (Dynamic PGO), amely a megfigyelt végrehajtási minták alapján javítja a futtatókörnyezet optimalizálását.

Minden alkalommal, amikor profiloptimalizálást kezdeményez egy alkalmazástartományban, a rendszer felolvassa az előző használat során létrehozott profilt. A profilban található információk a háttér-összeállítás irányítására szolgálnak az indítás során valószínűleg végrehajtandó metódusok azonosításával. Többmagos számítógépeken ez növeli annak az esélyét, hogy egy metódus már lefordítva van a szükséges idő alatt, hogy a fő alkalmazásszálnak ne kelljen meghívnia a JIT-fordítót.

A profilfájl minden egyes használaton felül van írva, így mindig a legfrissebb információkat tartalmazza arról, hogy mely metódusokat használják az indítás során.

Az optimalizálási profilok nem korlátozódnak az alkalmazástartomány indítására. Bármely olyan tevékenységhez használhatók, amely a JIT-fordító nagy mértékű használatát igényli. Egy alkalmazástartományhoz több profilt is fenntarthat, így minden ilyen tevékenység saját profillal rendelkezik.

Ha optimalizálási profilokat szeretne használni egy alkalmazástartományban, meg kell hívnia a SetProfileRoot metódust, és meg kell adnia azt a mappát, amelyben a profilok találhatók. A mappának már léteznie kell. A profil használatához hívja meg a StartProfile metódust, és adja meg a profil fájlnevét. Ha a fájlt korábban nem rögzítették, az első használatkor jön létre. A profil első létrehozásakor nincs teljesítménybeli előny.

A profiloptimalizálás nem módosítja a metódusok végrehajtásának sorrendjét. A metódusok nem futnak a háttérszálon; ha egy metódust lefordítanak, de soha nem hívják meg, egyszerűen nem használják. Ha egy profilfájl sérült, vagy nem írható a megadott mappába (például mert a mappa nem létezik), a program végrehajtása optimalizálási profilkészítés nélkül folytatódik.

Metódusok

Name Description
SetProfileRoot(String)

Lehetővé teszi az optimalizálási profilkészítést az aktuális alkalmazástartományhoz, és beállítja azt a mappát, amelyben az optimalizálási profil fájljai találhatók. Egymagos számítógépen a rendszer figyelmen kívül hagyja a metódust.

StartProfile(String)

Elindítja a korábban a megadott profilfájlban rögzített metódusok igény szerinti (JIT) fordítását egy háttérszálon. Elindítja az aktuális metódushasználat rögzítésének folyamatát, amely később felülírja a megadott profilfájlt.

A következőre érvényes: