うにてぃブログ

主にUnityとC#に関する記事を書いていきます

【C#】ToList の GC を見る

Primitive

なぜか short だけはこのルールじゃなかったので謎でした

サイズ バイト
int 0 40
int 1 76
int 2 80
short 0 120
short 1 154
short 2 156
float 0 40
float 1 76
float 2 80
uint 0 40
uint 1 76
uint 2 80

Class

変数1 変数2 サイズ バイト
null null 0 120
null null 1 160
null null 2 168
int null 0 120
int null 1 160
int null 2 168
short null 0 120
short null 1 160
short null 2 168
bool null 0 120
bool null 1 160
bool null 2 168
int int 0 120
int int 1 160
int int 2 168
int short 0 120
int short 1 160
int short 2 168
int bool 0 120
int bool 1 160
int bool 2 168

Struct

変数1 変数2 サイズ バイト
null null 0 120
null null 1 153
null null 2 154
int null 0 120
int null 1 156
int null 2 160
short null 0 120
short null 1 154
short null 2 156
bool null 0 120
bool null 1 153
bool null 2 154
int int 0 120
int int 1 160
int int 2 168
int short 0 120
int short 1 160
int short 2 168
int bool 0 120
int bool 1 160
int bool 2 168

Primitive

型に限らず 空の場合は 40
それ以外は 72 + size * 4

※ short は例外

Class

空の場合 120
それ以外は 152 + size * 8

Struct

空の場合 120
変数がない場合は 152 + size * 1
変数が1つの場合は 152 + size * 型サイズ
変数が2つ以上の場合は 152 + size * 8