Esempio n. 1
0
 public MetricDelta(IMetricComparison Comparison)
 {
     this.Comparison  = Comparison;
     this.Description = Describe(Comparison);
     if (Comparison.LeftMetrics.OpCount != Comparison.RightMetrics.OpCount)
     {
         throw new Exception("Count mismatch");
     }
 }
Esempio n. 2
0
        static AppMsg Describe(IMetricComparison comparison)
        {
            var title         = $"{comparison.LeftTitle} / {comparison.RightTitle}";
            var delta         = comparison.LeftMetrics.WorkTime - comparison.RightMetrics.WorkTime;
            var leftDuration  = comparison.LeftMetrics.WorkTime;
            var rightDuration = comparison.RightMetrics.WorkTime;
            var ratio         = Math.Round((double)leftDuration.TimerTicks / (double)rightDuration.TimerTicks, 4);
            var description   = concat(
                $"{title}",
                $" | Left Time  = {leftDuration}",
                $" | Right Time = {rightDuration}",
                $" | Difference = {delta}",
                $" | Performance Ratio = {ratio}"
                );

            return(AppMsg.Define(description, SeverityLevel.Benchmark));
        }
Esempio n. 3
0
 public static MetricDelta CalcDelta(this IMetricComparison comparison)
 => MetricDelta.Calc(comparison);
Esempio n. 4
0
 public static MetricDelta Calc(IMetricComparison comparison)
 => new MetricDelta(comparison);