コガネブログ

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

【Unity】空配列の生成は Array.Empty を使うと GC Alloc を抑えられる

概要

using UnityEngine;

public class Example : MonoBehaviour
{
    private void Update()
    {
        // GC Alloc が 31.2 KB
        for ( var i = 0; i < 1000; i++ )
        {
            var strings = new string[ 0 ];
        }
    }
}
using System;
using UnityEngine;

public class Example : MonoBehaviour
{
    private void Update()
    {
        // GC Alloc が 0 KB
        for ( var i = 0; i < 1000; i++ )
        {
            var strings = Array.Empty<string>();
        }
    }
}