ufcpp/UfcppSample

ReadOnlySpan 最適化の話

Closed this issue · 1 comments

ufcpp commented

そもそもブログしか書いてなさそう https://ufcpp.net/blog/2018/12/staticdatareadonlyspan/

byte 以外に対してもかかるようになったのも【C# 11 候補】の頃のブログのみ https://ufcpp.net/blog/2022/2/span-optimization/

Roslyn 4.5 (VS 17.5)辺りで入ってるみたい。C# 11 にはギリギリ間に合ってなくてその直後くらい。
roslyn 61414 でやってる。2022 12月に通ってる(C# 11 GA が11月)。

それ以降の C# コンパイラーなら、 なんか .NET 6 とかでも配列消えてそう。
RuntimeHelpers.CreateSpan (.NET 7から)がないのでなんか変なコード。ビッグエンディアンでちゃんと動くのか謎。

清書するなら https://ufcpp.net/study/csharp/resource/span/ 辺り?

https://ufcpp.net/study/csharp/datatype/collection-expression/ にそれっぽい話含めたのでそれでもういいかな。