コガネブログ

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

【Unity】デリゲートだと 112B の GC Alloc が発生するがローカル関数だと GC Alloc が発生しない

概要

using System;
using UnityEngine;
using UnityEngine.Profiling;

public class Test : MonoBehaviour
{
    private void Update()
    {
        var samplerA = CustomSampler.Create( "TEST A" );
        samplerA.Begin();

        Func<int, int> funcA = n => n + 1;
        funcA( 25 );

        samplerA.End();

        var samplerB = CustomSampler.Create( "TEST B" );
        samplerB.Begin();

        int funcB( int n ) => n + 1;
        funcB( 25 );

        samplerB.End();
    }
}

f:id:baba_s:20190415152054p:plain