我创建了一个简单的类来测试我的一些方法,但它准确吗?我对基准测试、计时等方面还比较陌生,所以想在这里寻求一些反馈。如果它很好用,也许其他人也可以使用它 :)
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();
有任何反馈吗?它看起来相当稳定和准确,还是我漏了什么?
var avg = Benchmark.This(SomeMethod).Take(500).Average();
而不是使用lambda表达式吗? - Lucas Jones