Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 3878|Відповідь: 1

[Зв'язок] [Поворот]. NET 8 Нові високопродуктивні типи

[Копіювати посилання]
Опубліковано 07.05.2023 09:37:47 | | |
Передмова

. Версія 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. Це гарантує, що користувачі знають, коли базове обладнання потребує констант, а коли надзвичайні значення можуть випадково вплинути на продуктивність.

Посилання:Вхід за гіперпосиланням видно.
Оригінальний:Вхід за гіперпосиланням видно.





Попередній:VSTO (VI) скасовує або блокує збереження документа Word
Наступний:ASP.NET Core (18) Налаштуйте простий кеш виводу OutputCache
Опубліковано 07.05.2023 15:36:17 |
Вчитися вчитися
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com