エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
【C#】Big Size Structが値コピーでつらいならin引数で値コピーしなければいいじゃない!! < それ本当? - 滅入るんるん
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
【C#】Big Size Structが値コピーでつらいならin引数で値コピーしなければいいじゃない!! < それ本当? - 滅入るんるん
C#で高速なプログラムにする際のお供な構造体ですが、構造体を使わないほうがいい場面・条件もあります... C#で高速なプログラムにする際のお供な構造体ですが、構造体を使わないほうがいい場面・条件もあります。 その一つに"サイズが16バイト未満であること"があります。この16バイトという数字の根拠は明確にはわかりませんが、構造体の特性上よく値コピーが発生するのでサイズが大きければ大きいほど値コピーのコストが高まるということからある程度のサイズまでのものがいいというのは想像つくと思います。 そしてこの値コピーが発生する個所としてよくあるのがメソッド呼び出しの引数に構造体を渡したときなのですが、C# 7.2で追加されたin引数/ref readonlyを使うと読み取り専用参照として渡せるので値コピーを抑制することができるようになりました。 そこで「値コピーがつらくてBig Size Structが使えないなら値コピーしなければいいじゃん」(以下in引数戦略)という疑問が生まれます。 実際に測ってみた