using System.Diagnostics;
const int Iterations = 10000;
static int stateNumber = 0;
public static void Main()
Stopwatch sw = new Stopwatch();
for(int i = 0; i < Tests; i++)
var elapsed1 = sw.Elapsed;
average1 += elapsed1.TotalMilliseconds;
var elapsed2 = sw.Elapsed;
average2 += elapsed2.TotalMilliseconds;
var elapsed3 = sw.Elapsed;
average3 += elapsed3.TotalMilliseconds;
Console.WriteLine("Test 1 average time {0} ms", average1 / Tests);
Console.WriteLine("Test 2 average time {0} ms", average2 / Tests);
Console.WriteLine("Test 3 average time {0} ms", average3 / Tests);
private static void Test1(int n)
for(int i = 0; i < Iterations; i++)
private static void Test2(int? n)
for(int i = 0; i < Iterations; i++)
private static void Test3(int? n)
for(int i = 0; i < Iterations; i++)