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);
}