Пример #1
0
        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;

            
        }
Пример #2
0
        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);


        }