Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 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