Exemplo n.º 1
0
        static PerformaceTestResult PerfTest(bool enableFileWatcher, bool enableCompilation, bool disableGlobalMembers)
        {
            var       result = new PerformaceTestResult();
            Stopwatch init   = new Stopwatch();

            init.Start();

            using (var runner =
                       new ReactRunner(@"D:\work\Olympic\BookingEngine\Build\Olympic.BookingEngine\assets\js\bundle.js",
                                       enableFileWatcher, enableCompilation, disableGlobalMembers, "global.SuperChargedReact.bootstrapper", new JsonSerializerSettings()))
            {
                init.Stop();

                result.InitializationTime = init.ElapsedMilliseconds;

                var times = new List <long>();
                Console.WriteLine("Benchmarking html generation");
                var props = File.ReadAllText("props.json");

                for (int i = 0; i < 20; i++)
                {
                    init.Reset();
                    string outputStr = "";
                    init.Start();
                    ReactPerformaceMeasurements measurements;
                    var settings = new RenderSettings("reactApp", new { testString = "testString" }, "/search/AccommodationOnly");
                    runner.Execute(settings, out outputStr, out measurements);
                    init.Stop();
                    times.Add(init.ElapsedMilliseconds);
                    //    Console.WriteLine(init.ElapsedMilliseconds);
                }

                result.Iterations = times.Count;
                result.Average    = times.Average();
                result.First5GenerationsAverage = times.Take(5).Average();
                result.Last10GenerationsAverage = times.Skip(times.Count - 10).Average();

                result.QuickestGeneration = times.Min();
                result.LongestGeneration  = times.Max();
            }
            return(result);
        }
Exemplo n.º 2
0
        static PerformaceTestResult PerfTest(bool enableFileWatcher, bool enableCompilation, bool disableGlobalMembers)
        {
            var result = new PerformaceTestResult();
            Stopwatch init = new Stopwatch();
            init.Start();

            using (var runner =
                new ReactRunner(@"D:\work\Olympic\BookingEngine\Build\Olympic.BookingEngine\assets\js\bundle.js",
                    enableFileWatcher, enableCompilation, disableGlobalMembers, new JsonSerializerSettings()))
            {

                init.Stop();

                result.InitializationTime = init.ElapsedMilliseconds;

                var times = new List<long>();
                Console.WriteLine("Benchmarking html generation");
                var props = File.ReadAllText("props.json");

                for (int i = 0; i < 20; i++)
                {
                    init.Reset();
                    string outputStr = "";
                    init.Start();
                    ReactPerformaceMeasurements measurements;
                    runner.Execute("reactApp", "/search/AccommodationOnly", props, out outputStr, out measurements);
                    init.Stop();
                    times.Add(init.ElapsedMilliseconds);
                    //    Console.WriteLine(init.ElapsedMilliseconds);
                }

                result.Iterations = times.Count;
                result.Average = times.Average();
                result.First5GenerationsAverage = times.Take(5).Average();
                result.Last10GenerationsAverage = times.Skip(times.Count - 10).Average();

                result.QuickestGeneration = times.Min();
                result.LongestGeneration = times.Max();
               
            }
            return result;
        }