我创建了一个简单的类来对我的一些方法进行基准测试。但它准确吗?我对基准测试、时间安排等有点陌生,所以我想我可以在这里寻求一些反馈。另外,如果它很好,也许其他人也可以使用它:)
public static class Benchmark
{
public static IEnumerable<long> This(Action subject)
{
var watch = new Stopwatch();
while (true)
{
watch.Reset();
watch.Start();
subject();
watch.Stop();
yield return watch.ElapsedTicks;
}
}
}
你可以像这样使用它:
var avg = Benchmark.This(() => SomeMethod()).Take(500).Average();
任何反馈?它看起来非常稳定和准确,还是我错过了什么?