Что такое Span<T> в C# и когда он действительно ускоряет ваш код?
Span<T> -- это ref struct, живущий только в стеке и указывающий на память, которой вы уже владеете, поэтому у него нет собственной аллокации. Он ускоряет код ровно в трёх ситуациях: замена буфера в куче на stackalloc, нарезка без копирования и плотные циклы, где JIT убирает проверки границ. В остальных случаях он ничего не меняет, а через await он не компилируется.