internal static void Run(ClrAnalyzer.Core.Dumps.CompiledMethodInfo <TailCallSample> iPCmi) { iPCmi.SetUp(); FactorialWithoutTailing(1); //iPCmi.SetUp(); //FactorialWithTailing(0, 1); iPCmi.SetUp(); FactorialWithTailing(1); }
internal static void Run(ClrAnalyzer.Core.Dumps.CompiledMethodInfo <InliningSample> iPCmi) { const int max = 100000000; int temp1 = 0; int temp2 = 0; iPCmi.SetUp(); A1(new IntParam { Val = 0 }); //iPCmi.SetUp(); //C1(new sIntParam { Val = 0 }); iPCmi.SetUp(); B1(new sIntParam { Val = 0 }); var s1 = Stopwatch.StartNew(); for (int i = 0; i < max; i++) { temp1 = A1(new IntParam { Val = i }); } s1.Stop(); var s2 = Stopwatch.StartNew(); for (int i = 0; i < max; i++) { temp2 = B1(new sIntParam { Val = i }); } s2.Stop(); Console.WriteLine(s1.Elapsed.TotalMilliseconds * 1000 * 1000 / (double)max); Console.WriteLine(s2.Elapsed.TotalMilliseconds * 1000 * 1000 / (double)max); Console.WriteLine("{0} {1}", temp1, temp2); Console.Read(); }