在Unity中进行速度和GC Alloc的测试
测试脚本:
using UnityEngine;
using System;
using System.Collections;
using System.Diagnostics; public class NullableTest : MonoBehaviour
{
void Start()
{
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
for (int i = ; i < ; i++)
{
int a = i;
//int? a = i;
a.GetHashCode();
}
stopwatch.Stop(); UnityEngine.Debug.Log("time(ms): " + stopwatch.ElapsedMilliseconds);
}
}
100万次循环下,可空类型执行速度45ms,非可空类型执行速度12ms
并且没有GC。