Ohjelmointi

C # lähdegeneraattorit parantavat .NET 5: n suorituskykyä

Microsoft on ottanut käyttöön esikatselun C # -kääntäjäominaisuudesta nimeltä Source Generators, joka voi tarkastaa ohjelman ja luoda lähdetiedostoja, jotka voidaan lisätä kokoelmaan. Microsoft sanoo, että lähdegeneraattorit voivat parantaa suorituskykyä useissa tilanteissa.

Lähdegeneraattori, joka otettiin käyttöön 29. huhtikuuta, on koodinpätkä (.NET Standard 2.0 -kokoonpano), joka toimii käännöksen aikana ja joka voi tarkastaa ohjelman tuottamaan ylimääräisiä tiedostoja, jotka kootaan muun koodin kanssa.

Lähdegeneraattorit antoivat C # -kehittäjille seuraavat toimet:

  • Hae kokoelma, joka edustaa kaikkia käännettäviä käyttäjäkoodeja. Tämä objekti voidaan tarkastaa ja kehittäjät voivat kirjoittaa koodin, joka toimii käännettävän koodin syntaksin ja semanttisten mallien kanssa, kuten analysaattoreiden kanssa.
  • Luo C # -lähdetiedostot, jotka lisätään kokoamisobjektiin kääntämisen aikana, ja lisälähdekoodi annetaan syötteenä koodia käännettäessä.

Microsoftin mukaan käyttäjäkoodi voidaan tarkastaa yhdessä rikkaiden metatietojen kanssa, jotka kääntäjä kerää kokoamisen aikana, ja C # -koodi lähetetään takaisin samaan kokoelmaan analysoitujen tietojen perusteella. Lähdegeneraattorit ovat samanlaisia ​​kuin Roslyn Analyzers, jotka tarkastavat C # tai Visual Basic -koodin, ja toimivat analysaattoreina, jotka voivat lähettää C # lähdekoodia.

Lähdegeneraattorit lähetetään osana C # 9: tä. Yritys on toimittanut lähdegeneraattoreiden keittokirjan ja lähdegeneraattoreiden suunnitteludokumentin saataville auttaakseen kehittäjiä pääsemään alkuun.

Lähdegeneraattoreista hyötyvät skenaariot ovat:

  • Suorita ajonaikainen heijastus. Analysoimalla koodia esimerkiksi sovelluksen käynnistyessä, ohjaimen etsintävaihe voi tapahtua kääntämisajankohtana, mikä nopeuttaa käynnistysaikoja.
  • Estää "tiukasti kirjoitettujen" API: iden käyttö, kuten miten ASP.NET Core -reititys ohjaimien ja Razor-sivujen välillä toimii. Reititys voidaan kirjoittaa voimakkaasti ja tarvittavat merkkijonot luoda käännösajan yksityiskohdiksi.
  • Auttaa poistamaan esteet linkkeri-pohjaisten ja ennenaikaisten kokoelmien optimoinnille.

Lähdegeneraattoreiden käyttämiseksi kehittäjien on asennettava uusin .NET 5 -esikatselu ja uusin Visual Studio -esikatselu.

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