我创建了一个简单的类来对我的一些方法进行基准测试 但它准确吗?我对基准测试,计时等等都不熟悉,所以我想在这里可以请一些反馈.此外,如果它是好的,也许其他人也可以使用它:)
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;
}
}
}
Run Code Online (Sandbox Code Playgroud)
你可以像这样使用它:
var avg = Benchmark.This(() => SomeMethod()).Take(500).Average();
Run Code Online (Sandbox Code Playgroud)
任何反馈?它看起来是非常稳定和准确的,还是我错过了什么?