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

Вид: 3616|Відповідь: 2

[Джерело] .NET/C# використовує Span для обробки рядків з високою продуктивністю

[Копіювати посилання]
Опубліковано 25.05.2023 20:13:18 | | | |
Вимоги: Останнім часом, аналізуючи такі знання<T>, як Span і Memory<T>, я вважаю, що використання таких об'єктів має багато переваг, таких як: прямий доступ до пам'яті (і дуже безпечний), зменшення зайвого виділення пам'яті (залежно від сцени, наприклад, перехоплення рядків при перетворенні рядків), модифікація значень у пам'яті та все ще навчання, не надто глибоке розуміння.

System.Span<T> — це новий тип значення в ядрі .NET. Він підтримує представлення суцільної області довільної пам'яті, незалежно від того, чи пов'язана ця пам'ять із керованим об'єктом, надана рідним кодом через взаємодію, чи знаходиться в стеку. Він робить це, зберігаючи при цьому безпечний доступ із характеристиками продуктивності, подібними до масивів. Під час використання Span забезпечує безпеку пам'яті та даних з мінімальними або відсутніми накладними витратами.

Наприклад, якщо ми використовуємо Substring для конвертації рядка у тип int, guid, long тощо, ми більше не будемо використовувати перехоплений вміст рядка, але виклик Substring для повернення нового рядка запитує новий простір пам'яті.

Спочатку вводиться інструмент бенчмаркінгу BenchmarkDotNet, а саме:

.NET/C# використовує BenchmarkDotNet для тестування продуктивності коду
https://www.itsvse.com/thread-9576-1-1.html
Тестовий код виглядає так:

Результати такі:



Посилання:

Вхід за гіперпосиланням видно.
Вхід за гіперпосиланням видно.





Попередній:.NET/C# синтаксичний оператор goto
Наступний:Docker створює онлайн-карти розуму на основі draw.io
Опубліковано 26.05.2023 14:11:02 |
Приходь і вчися...
 Орендодавець| Опубліковано 01.09.2023 21:59:03 |
Якщо так.NET-фреймворкможна посилатисяSystem.Memory.dllВикористовуйте ReadOnlySpan, AsSpan
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com