static void Main(string[] args) { var simpleHandler = new StaticParametersHandler <LightningParameters>(); Test((values) => simpleHandler.CreateParameters(values), 1000000); var expressionHandler = new ExpressionParametersHandler <LightningParameters>(); Test((values) => expressionHandler.CreateParameters(values), 1000000); Test((values) => new LightningParameters() { Coefficient = values[0] }, 1000000); }
static void Main() { var paramsHanldes = new SimpleParametersHandler <LighteningParameters>(); var paramsStaticHanldes = new StaticParametersHandler <LighteningParameters>(); var paramsExpressionHanldes = new ExpressionParametersHandler <LighteningParameters>(); int n = 300000; //int n = 3000; Console.Write("Reflection time:"); Test(vals => paramsHanldes.CreateParams(vals), n); Console.Write("Reflection static time:"); Test(vals => paramsStaticHanldes.CreateParams(vals), n); Console.Write("Reflection exp time:"); Test(vals => paramsExpressionHanldes.CreateParams(vals), n); Console.Write("Original time:\t"); Test(vals => new LighteningParameters() { Coefficient = vals[0] }, n); }