ソースコード
using System;
using System.Collections.Generic;
using NUnit.Framework;
using Unity.PerformanceTesting;
public sealed class DictionaryEnumKeyTest
{
private enum JobType
{
SOLDIER,
}
[Test]
[Performance]
public void KeyIntTest()
{
var dictionary = new Dictionary<int, string>();
var key = 0;
dictionary[ key ] = "";
Run( () => dictionary.GetValueOrDefault( key ) );
}
[Test]
[Performance]
public void KeyEnumTest()
{
var dictionary = new Dictionary<JobType, string>();
var key = JobType.SOLDIER;
dictionary[ key ] = "";
Run( () => dictionary.GetValueOrDefault( key ) );
}
private static void Run( Action action )
{
const int warmupCount = 10;
const int measurementCount = 100;
const int iterationsPerMeasurement = 100000;
Measure
.Method( action )
.WarmupCount( warmupCount )
.MeasurementCount( measurementCount )
.IterationsPerMeasurement( iterationsPerMeasurement )
.GC()
.Run()
;
}
}
測定結果
列挙型
int
検証環境