private static void PrintResult(PerformanceResult result) { foreach (var duration in result.Durations) { Console.WriteLine($"| Run {duration.Key} | Zeit (ms): {duration.Value.Milliseconds}"); } Console.WriteLine($"| {result.Durations.Count} Runs | {result.Durations.Average(x => x.Value.Milliseconds)} ms (/)"); }
public static PerformanceResult ExecuteWithPerformanceCheck(Action actionToExecute, int runs) { var result = new PerformanceResult { Runs = runs }; var stopWatch = new Stopwatch(); for (int i = 0; i < runs; i++) { stopWatch.Reset(); stopWatch.Start(); actionToExecute(); stopWatch.Stop(); result.Durations.Add(i + 1, stopWatch.Elapsed); } return(result); }