Esempio n. 1
0
        private static async Task <double> TestGridSwapPagesAsync <T>(PerfTestRenderer renderer) where T : IGridScenario, new()
        {
            var startTime   = DateTime.Now;
            var scenario    = new T();
            var componentId = renderer.AssignRootComponentId(scenario);

            scenario.Forecasts = WeatherForecast.staticSampleDataPage1;
            await renderer.RenderRootComponentAsync(componentId);

            for (var i = 0; i < cycles; i++)
            {
                scenario.Forecasts = i % 2 == 0 ? WeatherForecast.staticSampleDataPage2 : WeatherForecast.staticSampleDataPage1;
                await renderer.RenderRootComponentAsync(componentId);
            }

            var endTime          = DateTime.Now;
            var durationPerCycle = endTime.Subtract(startTime).TotalMilliseconds / cycles;

            return(durationPerCycle);
        }
Esempio n. 2
0
        private static async Task <double> TestGridFromBlankAsync <T>(PerfTestRenderer renderer) where T : IGridScenario, new()
        {
            var startTime = DateTime.Now;

            for (var i = 0; i < cycles; i++)
            {
                var scenario    = new T();
                var componentId = renderer.AssignRootComponentId(scenario);
                scenario.Forecasts = WeatherForecast.staticSampleDataPage1;

                // Note that although we're 'awaiting' this, all the work we care about actually happens synchronously,
                // because the data is already loaded up-front
                await renderer.RenderRootComponentAsync(componentId);
            }

            var endTime          = DateTime.Now;
            var durationPerCycle = endTime.Subtract(startTime).TotalMilliseconds / cycles;

            return(durationPerCycle);
        }