Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 3616|Отговор: 2

[Източник] .NET/C# използва Span за обработка на низове с висока производителност

[Копирай линк]
Публикувано в 25.05.2023 г. 20:13:18 ч. | | | |
Изисквания: Напоследък, разглеждайки знания<T> като Span и Memory<T>, смятам, че има много предимства при използването на такива обекти, като: директен достъп до паметта (и много сигурен), намаляване на ненужното разпределение на паметта (в зависимост от сцената, например Substring interception при конверсия на низове), промяна на стойности в паметта и все пак учене, което не е дълбоко разбиране.

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 ч. |
Ела и научи...
 Хазяин| Публикувано в 1.09.2023 г. 21:59:03 ч. |
Ако да,.NET рамкаможе да се препратиSystem.Memory.dllИзползвайте ReadOnlySpan, AsSpan
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com