コガネブログ

平日更新を目標にUnityやC#などのゲーム開発アレコレを書いていきます

【Unity】ボックス化をなるべく回避してGCの発生回数を減らすstring.Format

// string.Format を使用した場合のGC発生回数検証
for ( int i = 0; i < 1000000; i++ )
{
    string.Format( "{0},{1},{2},{3}", 0, 1, 2, 3 );
}
Console.WriteLine( GC.CollectionCount( 0 ) );

// StringUtils.Format を使用した場合のGC発生回数検証
for ( int i = 0; i < 1000000; i++ )
{
    StringUtils.Format( "{0},{1},{2},{3}", 0, 1, 2, 3 );
}
Console.WriteLine( GC.CollectionCount( 0 ) );
関数 GC発生回数
string.Format 53
StringUtils.Format 38