předmluva
. Net8 verze ve srovnání s. Net7 se hodně změnilo. V tomto článku se podívejme na některé typy změn výkonu, oficiálně doporučené nové typy zaměřené na zlepšení výkonu aplikací.
ovinovací
1.System.Collections.Frozen
Jmenné prostory zahrnují typy kolekcí FrozenDictionary< TKey, TValue> a FrozenSet. Jakmile je kolekce vytvořena, tyto typy neumožňují žádné změny klíčů a hodnot. Tento požadavek umožňuje rychlejší čtení (např. TryGetValue()). Tyto typy jsou zvláště užitečné pro kolekce, které jsou při prvním použití naplněny a poté uchovávány pro dlouhodobou službu, například:
2.System.Buffers.IndexOfAnyValues
Typ je určen k předání metodě hledání první shody libovolné hodnoty v předdané kolekci. Například String.IndexOfAny(Char[]) hledá první shodu libovolného znaku v daném poli v řetězci, který jej volá. NET 8 přidává nové přetížení metod, jako jsou String.IndexOfAny a MemoryExtensions.IndexOfAny, které přijímají nové instance typů. Když vytvoříte instanci System.Buffers.IndexOfAnyValues, všechna data potřebná k optimalizaci následných vyhledávání budou odvozena právě tehdy, což znamená, že práce je hotová předem.
3.System.Text.CompositeFormat
Typy lze použít k optimalizaci formátových řetězců, které jsou při kompilaci neznámé (např. formátové řetězce se načítají ze zdrojových souborů). Na začátku je potřeba trochu více času na zpracování řetězců, ale to ušetří práci pokaždé, když ji použijete.
4.System.Buffers.IndexOfAnyValues
Typ je určen k předání metodě hledání první shody libovolné hodnoty v předdané kolekci. Například String.IndexOfAny(Char[]) hledá první shodu libovolného znaku v daném poli v řetězci, který jej volá. NET 8 přidává nové přetížení metod, jako jsou String.IndexOfAny a MemoryExtensions.IndexOfAny, které přijímají nové instance typů. Když vytvoříte instanci System.Buffers.IndexOfAnyValues, všechna data potřebná k optimalizaci následných vyhledávání budou odvozena právě tehdy, což znamená, že práce je hotová předem.
5.System.Text.CompositeFormat
Typy lze použít k optimalizaci formátových řetězců, které jsou při kompilaci neznámé (např. formátové řetězce se načítají ze zdrojových souborů). Na začátku je potřeba trochu více času na zpracování řetězců, ale to ušetří práci pokaždé, když ji použijete.
6. System.Numerics a System.Runtime.Intrinsics
Vylepšení jmenných prostorů System.Numerics a System.Runtime.Intrinsics. Vector256, Matrix3x2 a Matrix4x4 zlepšují hardwarovou akceleraci na .NET 8. Například Vector256 znovu implementoval 2xVector128, kde to bylo možné. Hardwarové vnitřnosti nyní anotují pomocí vlastnosti ConstExpected. To zajišťuje, že uživatelé vědí, kdy základní hardware potřebuje konstanty a kdy mimořádné hodnoty mohou nechtěně poškodit výkon.
Odkaz:Přihlášení k hypertextovému odkazu je viditelné. Původní:Přihlášení k hypertextovému odkazu je viditelné.
|