Производительность — это непросто. Нужно следить за цикломатической сложностью, учитывать структуру хранения данных в хранилище, оптимизировать запросы и уменьшать число сетевых вызовов. .NET — управляемая платформа, за выделением и освобождением памяти следит CLR. И это удобно. Но иногда мы можем не обращать внимания, что выделяется дополнительная память, а это приводит к увеличению нагрузки на GC и проблемам с производительностью. Давайте разберемся, как типы Span<T> и ReadOnlySpan<T> помогают повысить производительность приложения. Что такое Span<T> tl;dr: Span<T> — это ссылка на непрерывную область в памяти. То есть, можно сделать несколько разных ссылок на одну область или части областей без необходимости копировать эти области. Во-первых, стоит понимать, как Span реализован в .NET. Это поможет понять, почему использование Span имеет ограничения, но повышает производительность. Span реализован как ref struct, то есть хранится на стеке и не может быть перемещен в кучу. Внутри Sp
Повышаем производительность .net приложения с помощью Span<T>
6 июля 20226 июл 2022
33
3 мин