public void DetailedSpeedTestWithOptimization() { var mp = new MathParser(); mp.LocalVariables.Add("x", 5); var expr = "(3x+2)(2(2x+1))"; int itr = 3000; double creationTimeAndTokenization = BenchmarkUtil.Benchmark( () => mp.GetTokens(expr) ,1); var tokens = mp.GetTokens(expr); double parsingTime = BenchmarkUtil.Benchmark(() => mp.Parse(tokens), itr); double totalTime = creationTimeAndTokenization + parsingTime; //var mp = new MathParser(); //mp.LocalVariables.Add("x", 5); //var expr = "(3x+2)(2(2x+1))"; //int itr = 50; double parsingTime2 = BenchmarkUtil.Benchmark(() => mp.Parse(expr), itr); double totalTime2 = parsingTime2; }
public void SpeedTests() { var parser = new MathParser(); parser.LocalVariables.Add("x",10); var list = parser.GetTokens("(3x+2)"); //list.Add("("); //list.Add("3"); //list.Add("*"); //list.Add("x"); //list.Add("+"); //list.Add("2"); //list.Add(")"); // list = double time = BenchmarkUtil.Benchmark(() => parser.Parse("(3x+2)"), 25000); double time2 = BenchmarkUtil.Benchmark(() => parser.Parse(list), 25000); Assert.IsTrue(time >= time2); }