ufcpp / UfcppSample

http://ufcpp.net/ 向けのサンプル
Apache License 2.0
136 stars 39 forks source link

ReadOnlySpan 最適化の話 #445

Closed ufcpp closed 1 year ago

ufcpp commented 1 year ago

そもそもブログしか書いてなさそう 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/ 辺り?

ufcpp commented 1 year ago

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