предговор
. Net8 версията, в сравнение с. Net7 се промени много. В тази статия нека разгледаме някои от видовете промени в производителността, официално препоръчани нови типове, насочени към подобряване на производителността на приложенията.
Обгръщане
1.System.Collections.Frozen
Пространствата от имена включват типовете колекции FrozenDictionary< TKey, TValue> и FrozenSet. След като се създаде колекция, тези типове не позволяват промяна на ключове и стойности. Това изискване позволява по-бързи операции за четене (например TryGetValue()). Тези типове са особено полезни за колекции, които се попълват при първоначална употреба и след това се задържат за дългосрочна употреба, като например:
2.System.Buffers.IndexOfAnyValues
Типът е предназначен да се предава на метода за намиране на първото съвпадение на всяка стойност в подадената колекция. Например, String.IndexOfAny(Char[]) търси първото съвпадение на всеки символ в зададения масив в реда, който го извиква. NET 8 добавя нови претоварвания на методи, като String.IndexOfAny и MemoryExtensions.IndexOfAny, които приемат нови типови инстанции. Когато създадете инстанция на System.Buffers.IndexOfAnyValues, всички данни, необходими за оптимизиране на следващите търсения, ще бъдат получени в този момент, което означава, че работата се извършва предварително.
3.System.Text.CompositeFormat
Типовете могат да се използват за оптимизиране на форматиращи низове, които са неизвестни по време на компилация (например, format string-овете се зареждат от ресурсни файлове). Отнема допълнително време в началото, за да правиш неща като парсиране на струни, но това спестява работа всеки път, когато го използваш.
4.System.Buffers.IndexOfAnyValues
Типът е предназначен да се предава на метода за намиране на първото съвпадение на всяка стойност в подадената колекция. Например, String.IndexOfAny(Char[]) търси първото съвпадение на всеки символ в зададения масив в реда, който го извиква. NET 8 добавя нови претоварвания на методи, като String.IndexOfAny и MemoryExtensions.IndexOfAny, които приемат нови типови инстанции. Когато създадете инстанция на System.Buffers.IndexOfAnyValues, всички данни, необходими за оптимизиране на следващите търсения, ще бъдат получени в този момент, което означава, че работата се извършва предварително.
5.System.Text.CompositeFormat
Типовете могат да се използват за оптимизиране на форматиращи низове, които са неизвестни по време на компилация (например, format string-овете се зареждат от ресурсни файлове). Отнема допълнително време в началото, за да правиш неща като парсиране на струни, но това спестява работа всеки път, когато го използваш.
6. Система. Числена техника и Система. Време на изпълнение. Вътрешни
Подобрения в именните пространства System.Numerics и System.Runtime.Intrinsics. Vector256, Matrix3x2 и Matrix4x4 подобряват хардуерното ускорение на .NET 8. Например, Vector256 е пререализирал 2xVector128, където е възможно. Хардуерните вътрешни части вече анотират чрез свойството ConstExpected. Това гарантира, че потребителите знаят кога основният хардуер се нуждае от константи и кога изключителните стойности могат случайно да навредят на производителността.
Препратка:Входът към хиперлинк е видим. Оригинален:Входът към хиперлинк е видим.
|