предисловие
. Версия 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
Типы могут использоваться для оптимизации строк форматирования, неизвестных на момент компиляции (например, строки форматирования загружаются из файлов ресурсов). Сначала требуется дополнительное время, например, разбор строк, но это экономит работу каждый раз при использовании.
4.System.Buffers.IndexOfAnyValues
Тип предназначен для передачи методу поиска первого совпадения любого значения в переданной коллекции. Например, String.IndexOfAny(Char[]) ищет первое совпадение любого символа в указанном массиве в строке, которая его вызывает. NET 8 добавляет новые перегрузки методов, такие как String.IndexOfAny и MemoryExtensions.IndexOfAny, принимающие новые экземпляры типов. Когда вы создаёте экземпляр System.Buffers.IndexOfAnyValues, все данные, необходимые для оптимизации последующих поисков, будут получены в этот момент, что означает, что работа выполняется заранее.
5.System.Text.CompositeFormat
Типы могут использоваться для оптимизации строк форматирования, неизвестных на момент компиляции (например, строки форматирования загружаются из файлов ресурсов). Сначала требуется дополнительное время, например, разбор строк, но это экономит работу каждый раз при использовании.
6. Системная числовая техника и системное время выполнения. Внутренние элементы
Улучшения пространств имён System.Numerics и System.Runtime.Intrinsics. Vector256, Matrix3x2 и Matrix4x4 улучшают аппаратное ускорение на .NET 8. Например, Vector256 перереализовал 2xVector128, где это возможно. Внутренние компоненты аппаратного обеспечения теперь аннотируют с помощью свойства ConstExpected. Это гарантирует, что пользователи знают, когда базовое оборудование требует констант, а когда чрезмерные значения могут случайно навредить производительности.
Ссылка:Вход по гиперссылке виден. Исходный текст:Вход по гиперссылке виден.
|