Beispiel #1
0
        void SingleTestWorkerRunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            BenchResults result = (BenchResults)e.Result;

            if (null != result)
            {
                Archive.Add(result);
                UpdateVisualization();
            }
        }
 public void Remove(string selected)
 {
     // replace??
     for (int c = 0; c < _results.Count; c++)
     {
         BenchResults result = _results[c];
         if (string.Compare(result.Options.Name, selected, true) == 0)
         {
             _results.RemoveAt(c);
             return;
         }
     }
 }
Beispiel #3
0
        private void btnAddToHistory_Click(object sender, EventArgs e)
        {
            if (String.IsNullOrEmpty(txtAddress.Text))
            {
                return;
            }

            BenchRunnerOptions option = CreateOptions();
            BenchResults       result = new BenchResults(option, null);

            Archive.Add(result);

            UpdateVisualization();
        }
Beispiel #4
0
        private void AddResultToChart(BenchResults result)
        {
            string name = result.Options.Name;

            {
                var serie = new Series(name);
                serie.Points.AddY(result.RequestsPerSecond);
                chart1.Series.Add(serie);
            }

            {
                var serie = new Series(name);
                serie.Points.AddY(result.DocumentLength / 1024.0);
                chart2.Series.Add(serie);
            }
        }
        public BenchResults Add(BenchResults benchResults)
        {
            // replace??
            for (int c = 0; c < _results.Count; c++)
            {
                BenchResults result = _results[c];
                if (string.Compare(result.Options.Name, benchResults.Options.Name, true) == 0)
                {
                    _results[c] = benchResults;
                    return benchResults;
                }
            }

            // append..
            _results.Add(benchResults);
            return benchResults;
        }
        public BenchResults Add(BenchResults benchResults)
        {
            // replace??
            for (int c = 0; c < _results.Count; c++)
            {
                BenchResults result = _results[c];
                if (string.Compare(result.Options.Name, benchResults.Options.Name, true) == 0)
                {
                    _results[c] = benchResults;
                    return(benchResults);
                }
            }

            // append..
            _results.Add(benchResults);
            return(benchResults);
        }
Beispiel #7
0
        private static void PrintResults(MeasureConfiguration configuration, BenchResults results)
        {
            results.Ticks.Sort();
            var min              = results.Ticks.First();
            var max              = results.Ticks.Last();
            var onePercentIndex  = (int)Math.Floor((decimal)results.Ticks.Count * 1 / 100) + 1;
            var fivePercentIndex = (int)Math.Floor((decimal)results.Ticks.Count * 5 / 100) + 1;
            var medianIndex      = (int)Math.Floor((decimal)results.Ticks.Count * 50 / 100) + 1;
            var onePercentile    = results.Ticks[results.Ticks.Count - onePercentIndex];
            var fivePercentile   = results.Ticks[results.Ticks.Count - fivePercentIndex];
            var median           = results.Ticks[results.Ticks.Count - medianIndex];

            lock (_lock)
            {
                if (!string.IsNullOrEmpty(configuration.Name))
                {
                    Console.WriteLine();
                    Console.WriteLine("[" + configuration.Name + "]");
                }

                Console.WriteLine("{0:N0} iterations in {1:N0} ms ({2:N1} iterations/sec)",
                                  configuration.Iteration,
                                  results.Elapsed.TotalMilliseconds,
                                  configuration.Iteration / results.Elapsed.TotalSeconds);

                Console.WriteLine("Latencies :");
                Console.WriteLine("Min :          {0,10:### ### ##0}µs", min * _µsFrequency);
                Console.WriteLine("Avg :          {0,10:### ### ##0}µs", (double)results.Elapsed.Ticks / configuration.Iteration / (TimeSpan.TicksPerMillisecond / 1000));
                Console.WriteLine("Median :       {0,10:### ### ##0}µs", median * _µsFrequency);
                Console.WriteLine("95 percentile : {0,10:### ### ##0}µs", fivePercentile * _µsFrequency);
                Console.WriteLine("99 percentile : {0,10:### ### ##0}µs", onePercentile * _µsFrequency);
                Console.WriteLine("Max :          {0,10:### ### ##0}µs (Iteration #{1})", max * _µsFrequency, results.MaxIterationIndex);
                Console.WriteLine("G0 : {0}", results.G0Count);
                Console.WriteLine("G1 : {0}", results.G1Count);
                Console.WriteLine("G2 : {0}", results.G2Count);
            }
        }
Beispiel #8
0
        private static void PrintResults(MeasureConfiguration configuration, BenchResults results)
        {
            results.Ticks.Sort();
            var min = results.Ticks.First();
            var max = results.Ticks.Last();
            var onePercentIndex = (int)Math.Floor((decimal)results.Ticks.Count * 1 / 100) + 1;
            var fivePercentIndex = (int)Math.Floor((decimal)results.Ticks.Count * 5 / 100) + 1;
            var medianIndex = (int)Math.Floor((decimal)results.Ticks.Count * 50 / 100) + 1;
            var onePercentile = results.Ticks[results.Ticks.Count - onePercentIndex];
            var fivePercentile = results.Ticks[results.Ticks.Count - fivePercentIndex];
            var median = results.Ticks[results.Ticks.Count - medianIndex];

            lock (_lock)
            {
                if (!string.IsNullOrEmpty(configuration.Name))
                {
                    Console.WriteLine();
                    Console.WriteLine("[" + configuration.Name + "]");
                }

                Console.WriteLine("{0:N0} iterations in {1:N0} ms ({2:N1} iterations/sec)",
                                  configuration.Iteration,
                                  results.Elapsed.TotalMilliseconds,
                                  configuration.Iteration / results.Elapsed.TotalSeconds);

                Console.WriteLine("Latencies :");
                Console.WriteLine("Min :          {0,10:### ### ##0}µs", min * _µsFrequency);
                Console.WriteLine("Avg :          {0,10:### ### ##0}µs", (double)results.Elapsed.Ticks / configuration.Iteration / (TimeSpan.TicksPerMillisecond / 1000));
                Console.WriteLine("Median :       {0,10:### ### ##0}µs", median * _µsFrequency);
                Console.WriteLine("95 percentile : {0,10:### ### ##0}µs", fivePercentile * _µsFrequency);
                Console.WriteLine("99 percentile : {0,10:### ### ##0}µs", onePercentile * _µsFrequency);
                Console.WriteLine("Max :          {0,10:### ### ##0}µs (Iteration #{1})", max * _µsFrequency, results.MaxIterationIndex);
                Console.WriteLine("G0 : {0}", results.G0Count);
                Console.WriteLine("G1 : {0}", results.G1Count);
                Console.WriteLine("G2 : {0}", results.G2Count);
            }
        }
Beispiel #9
0
 public ComboItem(BenchResults result)
 {
     this.Result = result;
     this.Name   = result.Options.Name;
 }