public void Direct_Invoke_Single_Argument() { int i = 1; string b = "fgsdfsd"; object aa = new List <int>(); var arg = new Single_Argument(i, b, aa); InvokeTest o = new InvokeTest(); for (int j = count; j > 0; j--) { o.Invoke_Single_Argument_(arg); } }
public void Direct_Invoke_Multi_Argument() { int i = 1; string b = "fgsdfsd"; object aa = new List <int>(); object[] args = new object[] { i, b, aa, i, b, aa }; InvokeTest o = new InvokeTest(); for (int j = count; j > 0; j--) { o.Invoke_Multi_Argument_(i, b, aa, i, b, aa); } }
public void Reflect_Invoke_Single_Argument() { int i = 1; string b = "fgsdfsd"; object aa = new List <int>(); var arg = new Single_Argument(i, b, aa); var args = new object[] { arg }; var m = typeof(IInvokeTest).GetMethod("Invoke_Single_Argument_"); InvokeTest o = new InvokeTest(); for (int j = count; j > 0; j--) { m.Invoke(o, args); } }
public void Reflect_Invoke_Multi_Argument() { var m = typeof(IInvokeTest).GetMethod("Invoke_Multi_Argument_"); int i = 1; string b = "fgsdfsd"; object aa = new List <int>(); object[] args = new object[] { i, b, aa, i, b, aa }; InvokeTest o = new InvokeTest(); for (int j = count; j > 0; j--) { //var m1 = typeof(IInvokeTest).GetMethod("Invoke_Multi_Argument_"); m.Invoke(o, args); } }
public static void Main(string[] args) { StreamWriter sw = null; LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("getter-setter-benchmark-csharp-firstinvoke.csv", FileMode.Create)); Console.SetOut(sw); GetterSetterTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("getter-setter-benchmark-csharp.csv", FileMode.Create)); Console.SetOut(sw); GetterSetterTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("invoke-benchmark-csharp-firstinvoke.csv", FileMode.Create)); Console.SetOut(sw); InvokeTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("invoke-benchmark-csharp.csv", FileMode.Create)); Console.SetOut(sw); InvokeTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("creation-benchmark-csharp-firstinvoke.csv", FileMode.Create)); Console.SetOut(sw); CreationTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("creation-benchmark-csharp.csv", FileMode.Create)); Console.SetOut(sw); CreationTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("collection-benchmark-csharp-firstinvoke.csv", FileMode.Create)); Console.SetOut(sw); CollectionTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("collection-benchmark-csharp.csv", FileMode.Create)); Console.SetOut(sw); CollectionTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("arithmetic-benchmark-csharp-firstinvoke.csv", FileMode.Create)); Console.SetOut(sw); ArithmeticTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("arithmetic-benchmark-csharp.csv", FileMode.Create)); Console.SetOut(sw); ArithmeticTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("threading-benchmark-csharp-firstinvoke.csv", FileMode.Create)); Console.SetOut(sw); ThreadingTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("threading-benchmark-csharp.csv", FileMode.Create)); Console.SetOut(sw); ThreadingTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("timing-benchmark-csharp-firstinvoke.csv", FileMode.Create)); Console.SetOut(sw); TimingTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("timing-benchmark-csharp.csv", FileMode.Create)); Console.SetOut(sw); TimingTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("autoboxing-benchmark-csharp-firstinvoke.csv", FileMode.Create)); Console.SetOut(sw); AutoboxingTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("autoboxing-benchmark-csharp.csv", FileMode.Create)); Console.SetOut(sw); AutoboxingTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("file-benchmark-csharp-firstinvoke.csv", FileMode.Create)); Console.SetOut(sw); FileTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("file-benchmark-csharp.csv", FileMode.Create)); Console.SetOut(sw); FileTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("exception-benchmark-csharp-firstinvoke.csv", FileMode.Create)); Console.SetOut(sw); ExceptionTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("exception-benchmark-csharp.csv", FileMode.Create)); Console.SetOut(sw); ExceptionTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("recursive-benchmark-csharp-firstinvoke.csv", FileMode.Create)); Console.SetOut(sw); RecursiveTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("recursive-benchmark-csharp.csv", FileMode.Create)); Console.SetOut(sw); RecursiveTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("stringconcat-benchmark-csharp-firstinvoke.csv", FileMode.Create)); Console.SetOut(sw); StringConcatTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("stringconcat-benchmark-csharp.csv", FileMode.Create)); Console.SetOut(sw); StringConcatTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("nestedloops-benchmark-csharp-firstinvoke.csv", FileMode.Create)); Console.SetOut(sw); NestedLoopsTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("nestedloops-benchmark-csharp.csv", FileMode.Create)); Console.SetOut(sw); NestedLoopsTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("heap-sort-benchmark-csharp-firstinvoke.csv", FileMode.Create)); Console.SetOut(sw); HeapSortTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("heap-sort-benchmark-csharp.csv", FileMode.Create)); Console.SetOut(sw); HeapSortTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("matrix-multiply-benchmark-csharp-firstinvoke.csv", FileMode.Create)); Console.SetOut(sw); MatrixMultiplyTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("matrix-multiply-benchmark-csharp.csv", FileMode.Create)); Console.SetOut(sw); MatrixMultiplyTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("reflection-benchmark-csharp-firstinvoke.csv", FileMode.Create)); Console.SetOut(sw); ReflectionTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("reflection-benchmark-csharp.csv", FileMode.Create)); Console.SetOut(sw); ReflectionTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("enum-benchmark-csharp-firstinvoke.csv", FileMode.Create)); Console.SetOut(sw); EnumTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("enum-benchmark-csharp.csv", FileMode.Create)); Console.SetOut(sw); EnumTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("trigo-benchmark-csharp-firstinvoke.csv", FileMode.Create)); Console.SetOut(sw); TrigoTest.main(ARGS); sw.Close(); LaunchGcAndSleep(); sw = new StreamWriter(new FileStream("trigo-benchmark-csharp.csv", FileMode.Create)); Console.SetOut(sw); TrigoTest.main(ARGS); sw.Close(); //TODO NetworkInvoke.main(ARGS); }
/** * main. * * @param args */ public static void main(string[] args) { int nbTests = (args != null && args.Length >= 1) ? int.Parse(args[0]) : NB_TESTS; int nbOfExclusionMinMax = (args != null && args.Length >= 2) ? int.Parse(args[1]) : NB_OF_EXCLUSION_MIN_MAX; List <long> executionTimes = new List <long>(nbTests); for (int i = nbTests; i != 0; i--) { executionTimes.Add(InvokeTest.testInvokeOfAStaticMethodString()); } executionTimes.Sort(); Console.WriteLine("[InvokeTest], Invoke Of A Static Method String" + NB_INVOKE_TESTS + " InvokeImpl.echoStatic(\"1\").Length,, average time," + averageTimeWithoutMinMax(executionTimes, nbOfExclusionMinMax) + ", min time," + executionTimes[0] + ", max time," + executionTimes[executionTimes.Count - 1] + ", relative deviation time," + relativeDeviationTimeWithoutMinMax(executionTimes, nbOfExclusionMinMax)); executionTimes.Clear(); for (int i = nbTests; i != 0; i--) { executionTimes.Add(InvokeTest.testInvokeOfAStaticMethodInt()); } executionTimes.Sort(); Console.WriteLine("[InvokeTest], Invoke Of A Static Method int" + NB_INVOKE_TESTS + " InvokeImpl.echoStatic(\"1\").Length,, average time," + averageTimeWithoutMinMax(executionTimes, nbOfExclusionMinMax) + ", min time," + executionTimes[0] + ", max time," + executionTimes[executionTimes.Count - 1] + ", relative deviation time," + relativeDeviationTimeWithoutMinMax(executionTimes, nbOfExclusionMinMax)); executionTimes.Clear(); for (int i = nbTests; i != 0; i--) { executionTimes.Add(InvokeTest.testInvokeOfAnInstanceMethodWithInterface()); } executionTimes.Sort(); Console.WriteLine("[InvokeTest], Invoke Of An Instance Method With Interface " + NB_INVOKE_TESTS + " invoke.echo(\"1\").Length,, average time," + averageTimeWithoutMinMax(executionTimes, nbOfExclusionMinMax) + ", min time," + executionTimes[0] + ", max time," + executionTimes[executionTimes.Count - 1] + ", relative deviation time," + relativeDeviationTimeWithoutMinMax(executionTimes, nbOfExclusionMinMax)); executionTimes.Clear(); for (int i = nbTests; i != 0; i--) { executionTimes.Add(InvokeTest.testInvokeOfAnInstanceMethodWithGetInstanceVariableWithInterface()); } executionTimes.Sort(); Console.WriteLine("[InvokeTest], Invoke Of An Instance Method With Get Instance Variable With Interface " + NB_INVOKE_TESTS + " invoke.echoWithGetVariable().Length,, average time," + averageTimeWithoutMinMax(executionTimes, nbOfExclusionMinMax) + ", min time," + executionTimes[0] + ", max time," + executionTimes[executionTimes.Count - 1] + ", relative deviation time," + relativeDeviationTimeWithoutMinMax(executionTimes, nbOfExclusionMinMax)); executionTimes.Clear(); for (int i = nbTests; i != 0; i--) { executionTimes.Add(InvokeTest.testInvokeOfAnInstanceMethodWithSetInstanceVariableWithInterface()); } executionTimes.Sort(); Console.WriteLine("[InvokeTest], Invoke Of An Instance Method With Set Instance Variable With Interface " + NB_INVOKE_TESTS + " invoke.echoWithSetVariable(\"1\").Length,, average time," + averageTimeWithoutMinMax(executionTimes, nbOfExclusionMinMax) + ", min time," + executionTimes[0] + ", max time," + executionTimes[executionTimes.Count - 1] + ", relative deviation time," + relativeDeviationTimeWithoutMinMax(executionTimes, nbOfExclusionMinMax)); executionTimes.Clear(); for (int i = nbTests; i != 0; i--) { executionTimes.Add(InvokeTest.testInvokeOfAnInstanceMethodWithoutInterface()); } executionTimes.Sort(); Console.WriteLine("[InvokeTest], Invoke Of An Instance Method Without Interface " + NB_INVOKE_TESTS + " invoke.echo(\"1\").Length,, average time," + averageTimeWithoutMinMax(executionTimes, nbOfExclusionMinMax) + ", min time," + executionTimes[0] + ", max time," + executionTimes[executionTimes.Count - 1] + ", relative deviation time," + relativeDeviationTimeWithoutMinMax(executionTimes, nbOfExclusionMinMax)); executionTimes.Clear(); for (int i = nbTests; i != 0; i--) { executionTimes.Add(InvokeTest.testInvokeOfAnInstanceMethodWithGetInstanceVariableWithoutInterface()); } executionTimes.Sort(); Console.WriteLine("[InvokeTest], Invoke Of An Instance Method Get Instance Variable Without Interface " + NB_INVOKE_TESTS + " iinvoke.echoWithGetVariable().Length,, average time," + averageTimeWithoutMinMax(executionTimes, nbOfExclusionMinMax) + ", min time," + executionTimes[0] + ", max time," + executionTimes[executionTimes.Count - 1] + ", relative deviation time," + relativeDeviationTimeWithoutMinMax(executionTimes, nbOfExclusionMinMax)); executionTimes.Clear(); for (int i = nbTests; i != 0; i--) { executionTimes.Add(InvokeTest.testInvokeOfAnInstanceMethodWithSetInstanceVariableWithoutInterface()); } executionTimes.Sort(); Console.WriteLine("[InvokeTest], Invoke Of An Instance Method With Set Instance Variable Without Interface " + NB_INVOKE_TESTS + " invoke.echoWithSetVariable(\"1\").Length,, average time," + averageTimeWithoutMinMax(executionTimes, nbOfExclusionMinMax) + ", min time," + executionTimes[0] + ", max time," + executionTimes[executionTimes.Count - 1] + ", relative deviation time," + relativeDeviationTimeWithoutMinMax(executionTimes, nbOfExclusionMinMax)); executionTimes.Clear(); for (int i = nbTests; i != 0; i--) { executionTimes.Add(InvokeTest.testInvokeOfAnInstanceMethod()); } executionTimes.Sort(); Console.WriteLine("[InvokeTest], Invoke Of An Instance Method " + NB_INVOKE_TESTS + " invoke.echo(\"1\").Length,, average time," + averageTimeWithoutMinMax(executionTimes, nbOfExclusionMinMax) + ", min time," + executionTimes[0] + ", max time," + executionTimes[executionTimes.Count - 1] + ", relative deviation time," + relativeDeviationTimeWithoutMinMax(executionTimes, nbOfExclusionMinMax)); executionTimes.Clear(); for (int i = nbTests; i != 0; i--) { executionTimes.Add(InvokeTest.testInvokeOfAnInstanceMethodWithGetInstanceVariable()); } executionTimes.Sort(); Console.WriteLine("[InvokeTest], Invoke Of An Instance Method Get Instance Variable " + NB_INVOKE_TESTS + " iinvoke.echoWithGetVariable().Length,, average time," + averageTimeWithoutMinMax(executionTimes, nbOfExclusionMinMax) + ", min time," + executionTimes[0] + ", max time," + executionTimes[executionTimes.Count - 1] + ", relative deviation time," + relativeDeviationTimeWithoutMinMax(executionTimes, nbOfExclusionMinMax)); executionTimes.Clear(); for (int i = nbTests; i != 0; i--) { executionTimes.Add(InvokeTest.testInvokeOfAnInstanceMethodWithSetInstanceVariable()); } executionTimes.Sort(); Console.WriteLine("[InvokeTest], Invoke Of An Instance Method With Set Instance Variable " + NB_INVOKE_TESTS + " invoke.echoWithSetVariable(\"1\").Length,, average time," + averageTimeWithoutMinMax(executionTimes, nbOfExclusionMinMax) + ", min time," + executionTimes[0] + ", max time," + executionTimes[executionTimes.Count - 1] + ", relative deviation time," + relativeDeviationTimeWithoutMinMax(executionTimes, nbOfExclusionMinMax)); executionTimes.Clear(); }