Programování

Generátory zdrojů C # pro zvýšení výkonu v .NET 5

Microsoft představil náhled schopnosti kompilátoru C # s názvem Zdrojové generátory, které mohou kontrolovat program a generovat zdrojové soubory, které lze přidat do kompilace. Microsoft říká, že generátory zdrojů mohou zlepšit výkon v řadě scénářů.

Představený 29. dubna je zdrojový generátor kus kódu (sestavení .NET Standard 2.0), který běží během kompilace a může zkontrolovat program, aby vytvořil další soubory, které jsou kompilovány společně se zbytkem kódu.

Zdrojové generátory umožňují vývojářům C # provádět následující:

  • Načíst kompilaci představující veškerý kompilovaný uživatelský kód. Tento objekt lze zkontrolovat a vývojáři mohou psát kód, který pracuje se syntaxí a sémantickými modely pro kompilovaný kód, jako u analyzátorů.
  • Generujte zdrojové soubory C #, které se mají přidat do objektu kompilace během kompilace, s dalším zdrojovým kódem poskytnutým jako vstup při kompilaci kódu.

Microsoft uvedl, že uživatelský kód lze zkontrolovat spolu s bohatými metadaty, která kompilátor vytvoří během kompilace, s kódem C # emitovaným zpět do stejné kompilace na základě analyzovaných dat. Zdrojové generátory jsou podobné analyzátorům Roslyn, které kontrolují kód C # nebo Visual Basic a slouží jako analyzátory, které mohou vydávat zdrojový kód C #.

Zdrojové generátory mají být dodávány jako součást C # 9. Společnost zpřístupnila vývojářům kuchařku zdrojových generátorů a návrhový dokument zdrojových generátorů.

Scénáře, které těží z generátorů zdrojů, zahrnují:

  • Provedení běhové reflexe. Analýzou kódu při spuštění aplikace se například může stát fáze zjišťování řadiče v době kompilace, což má za následek rychlejší časy spuštění.
  • Aby se předešlo použití „přísně zadaných“ API, například jak funguje směrování ASP.NET Core mezi řadiči a stránkami Razor. Směrování může být silně zadáno a potřebné řetězce vygenerovány jako podrobnosti v době kompilace.
  • Abychom pomohli odstranit překážky pro optimalizaci kompilace založené na linkerech a v předstihu.

Chcete-li získat přístup ke generátorům zdrojů, musí vývojáři nainstalovat nejnovější verzi .NET 5 a nejnovější verzi Visual Studio.

$config[zx-auto] not found$config[zx-overlay] not found