C #: Точен ли этот класс тестирования?
Я создал простой класс для сравнения некоторых моих методов. Но точно ли это? Я новичок в бенчмаркинге, сроках и т. Д., Поэтому подумал, что могу попросить кое-какие отзывы здесь. Кроме того, если это хорошо, возможно, кто-то еще может использовать это также :)
public static class Benchmark
{
public static IEnumerable 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();
Есть отзывы? Это выглядит довольно стабильно и точно, или я что-то пропустил?