predhovor
. Net8 verzia, v porovnaní s. Net7 sa veľa zmenil. V tomto článku sa pozrime na niektoré z jeho typov zmien vo výkone, oficiálne odporúčané nové typy zamerané na zlepšenie výkonu aplikácií.
Wraparound
1.System.Collections.Frozen
Menné priestory zahŕňajú typy kolekcií FrozenDictionary< TKey, TValue> a FrozenSet. Po vytvorení kolekcie tieto typy neumožňujú žiadne zmeny kľúčov a hodnôt. Táto požiadavka umožňuje rýchlejšie čítanie (napr. TryGetValue()). Tieto typy sú obzvlášť užitočné pre kolekcie, ktoré sa pri prvom použití naplnia a potom uchovávajú na dlhodobú službu, ako napríklad:
2.System.Buffers.IndexOfAnyValues
Typ je určený na odovzdanie metóde, ktorá hľadá prvú zhodu akejkoľvek hodnoty v odovzdanej kolekcii. Napríklad String.IndexOfAny(Char[]) hľadá prvú zhodu akéhokoľvek znaku v špecifikovanom poli v reťazci, ktorý ho volá. NET 8 pridáva nové preťaženia metód, ako sú String.IndexOfAny a MemoryExtensions.IndexOfAny, ktoré akceptujú nové inštancie typov. Keď vytvoríte inštanciu System.Buffers.IndexOfAnyValues, všetky dáta potrebné na optimalizáciu následných vyhľadávaní budú odvodené v tom čase, čo znamená, že práca je vykonaná vopred.
3.System.Text.CompositeFormat
Typy môžu byť použité na optimalizáciu formátových reťazcov, ktoré sú pri kompilácii neznáme (napr. formátové reťazce sa načítavajú zo zdrojových súborov). Zaberie to trochu viac času na začiatku, napríklad na parsovanie reťazcov, ale ušetrí to prácu pri každom použití.
4.System.Buffers.IndexOfAnyValues
Typ je určený na odovzdanie metóde, ktorá hľadá prvú zhodu akejkoľvek hodnoty v odovzdanej kolekcii. Napríklad String.IndexOfAny(Char[]) hľadá prvú zhodu akéhokoľvek znaku v špecifikovanom poli v reťazci, ktorý ho volá. NET 8 pridáva nové preťaženia metód, ako sú String.IndexOfAny a MemoryExtensions.IndexOfAny, ktoré akceptujú nové inštancie typov. Keď vytvoríte inštanciu System.Buffers.IndexOfAnyValues, všetky dáta potrebné na optimalizáciu následných vyhľadávaní budú odvodené v tom čase, čo znamená, že práca je vykonaná vopred.
5.System.Text.CompositeFormat
Typy môžu byť použité na optimalizáciu formátových reťazcov, ktoré sú pri kompilácii neznáme (napr. formátové reťazce sa načítavajú zo zdrojových súborov). Zaberie to trochu viac času na začiatku, napríklad na parsovanie reťazcov, ale ušetrí to prácu pri každom použití.
6. System.Numerics a System.Runtime.Intrinsics
Vylepšenia menných priestorov System.Numerics a System.Runtime.Intrinsics. Vector256, Matrix3x2 a Matrix4x4 zlepšujú hardvérovú akceleráciu na .NET 8. Napríklad Vector256 znovu implementoval 2xVector128, kde to bolo možné. Hardvérové vnútornosti teraz anotujú pomocou vlastnosti ConstExpected. To zabezpečuje, že používatelia vedia, kedy základný hardvér potrebuje konštanty a kedy by mimoriadne hodnoty mohli neúmyselne poškodiť výkon.
Referencia:Prihlásenie na hypertextový odkaz je viditeľné. Originál:Prihlásenie na hypertextový odkaz je viditeľné.
|