ServiceStack.Common.Tests.PerfTestBase.CompareRuns C# (CSharp) Method

CompareRuns() protected method

protected CompareRuns ( int iterations, string run1Name, System.Action run1Action, string run2Name, System.Action run2Action ) : void
iterations int
run1Name string
run1Action System.Action
run2Name string
run2Action System.Action
return void
        protected void CompareRuns(int iterations, string run1Name, Action run1Action, string run2Name, Action run2Action)
        {
            var run1 = RunAction(run1Action, iterations, run1Name);
            var run2 = RunAction(run2Action, iterations, run2Name);

            var runDiff = run1.Ticks - run2.Ticks;
            var run1IsSlower = runDiff > 0;
            var slowerRun = run1IsSlower ? run1Name : run2Name;
            var fasterRun = run1IsSlower ? run2Name : run1Name;
            var runDiffTime = run1IsSlower ? runDiff : runDiff * -1;
            var runDiffAvg = run1IsSlower ? run1.Ticks / (double)run2.Ticks : run2.Ticks / (double)run1.Ticks;

            Log("{0} was {1}ms or {2} times slower than {3}",
                slowerRun, runDiffTime, Math.Round(runDiffAvg, 2), fasterRun);
        }

Same methods

PerfTestBase::CompareRuns ( string run1Name, System.Action run1Action, string run2Name, System.Action run2Action ) : void