Tool to run benchmarks
public class Benchmarks
{
public void Setup()
{
//optional: setup the benchmark prerequisites
}
public void Cleanup()
{
//optional: cleanup benchmark
}
public void BenchThis1()
{
Task.Delay(500).Wait();
}
public void BenchThis2()
{
Task.Delay(1000).Wait();
}
//etc...
}
using Tools1.Benchmarking;
IDictionary<string, List<long>> result = Benchmarker.Run<Benchmarks>(5);
string[] lines = result.ToDictionary(x => x.Key, x => (int)Math.Round(x.Value.Average()))
.Select(x => $"{x.Key}\t{x.Value}")
.ToArray();
Console.WriteLine(string.Join("\r\n", lines));
BenchThis1 508
BenchThis2 1011