johdanto
. Net8-versio verrattuna siihen. Net7 on muuttunut paljon. Tässä artikkelissa tarkastellaan joitakin sen suorituskykymuutoksia, virallisesti suositeltuja uusia tyyppejä, joiden tarkoituksena on parantaa sovellusten suorituskykyä.
Wraparound
1.System.Collections.Frozen
Nimiavaruudet sisältävät kokoelmatyypit FrozenDictionary< TKey, TValue> ja FrozenSet. Kun kokoelma on luotu, nämä tyypit eivät salli avainten ja arvojen muutoksia. Tämä vaatimus mahdollistaa nopeammat lukutoiminnot (esim. TryGetValue()). Nämä tyypit ovat erityisen hyödyllisiä kokoelmissa, jotka täytetään aluksi ja säilytetään myöhemmin pitkäaikaiseen käyttöön, kuten:
2.System.Buffers.IndexOfAnyValues
Tyyppi on tarkoitettu siirrettäväksi menetelmälle, jolla löydetään ensimmäinen vastaavuus mille tahansa arvolle ohitettavassa kokoelmassa. Esimerkiksi String.IndexOfAny(Char[]) etsii ensimmäistä osumaa minkä tahansa määritellyn taulukon merkkijonossa, joka kutsuu sitä. NET 8 lisää uusia metodin ylikuormituksia, kuten String.IndexOfAny ja MemoryExtensions.IndexOfAny, jotka hyväksyvät uuden tyyppityyppiset instanssit. Kun luot System.Buffers.IndexOfAnyValues -instanssin, kaikki tarvittavat tiedot seuraavien hakujen optimointiin johdetaan silloin, mikä tarkoittaa, että työ tehdään etukäteen.
3.System.Text.CompositeFormat
Tyyppejä voidaan käyttää optimointiin muotoilumerkkijonoissa, jotka ovat käännöshetkellä tuntemattomia (esim. muotomerkkijonot ladataan resurssitiedostoista). Merkkijonojen jäsentäminen vie hieman ylimääräistä aikaa alussa, mutta tämä säästää työtä joka kerta kun käytät sitä.
4.System.Buffers.IndexOfAnyValues
Tyyppi on tarkoitettu siirrettäväksi menetelmälle, jolla löydetään ensimmäinen vastaavuus mille tahansa arvolle ohitettavassa kokoelmassa. Esimerkiksi String.IndexOfAny(Char[]) etsii ensimmäistä osumaa minkä tahansa määritellyn taulukon merkkijonossa, joka kutsuu sitä. NET 8 lisää uusia metodin ylikuormituksia, kuten String.IndexOfAny ja MemoryExtensions.IndexOfAny, jotka hyväksyvät uuden tyyppityyppiset instanssit. Kun luot System.Buffers.IndexOfAnyValues -instanssin, kaikki tarvittavat tiedot seuraavien hakujen optimointiin johdetaan silloin, mikä tarkoittaa, että työ tehdään etukäteen.
5.System.Text.CompositeFormat
Tyyppejä voidaan käyttää optimointiin muotoilumerkkijonoissa, jotka ovat käännöshetkellä tuntemattomia (esim. muotomerkkijonot ladataan resurssitiedostoista). Merkkijonojen jäsentäminen vie hieman ylimääräistä aikaa alussa, mutta tämä säästää työtä joka kerta kun käytät sitä.
6. System.Numerics ja System.Runtime.Intrinsics
Parannuksia System.Numerics- ja System.Runtime.Intrinsics -nimiavaruuksiin. Vector256, Matrix3x2 ja Matrix4x4 parantavat laitteistokiihdytystä .NET 8:ssa. Esimerkiksi Vector256 on toteuttanut 2xVector128:n uudelleen mahdollisuuksien mukaan. Laitteiston sisäosat annotoivat nyt ConstExpected-ominaisuuden avulla. Tämä varmistaa, että käyttäjät tietävät, milloin taustalla oleva laitteisto tarvitsee vakioita ja milloin poikkeukselliset arvot voivat vahingossa heikentää suorituskykyä.
Viittaus:Hyperlinkin kirjautuminen on näkyvissä. Alkuperäinen:Hyperlinkin kirjautuminen on näkyvissä.
|