用于测量操作时间的最合适的性能计数器类型是什么?

Muh*_*han 6 .net performance diagnostics perfmon performancecounter

假设我有一个方法Foo(),我想测量执行哪种类型的Windows性能计数器应该使用的时间(以毫秒为单位)?

var stopwatch = new Stopwatch();
stopwatch.Start();
Foo();
stopwatch.Stop();
counter.RawValue = stopwatch.TotalMilliseonds;
Run Code Online (Sandbox Code Playgroud)

目前我正在使用NumberOfItems64,但除非执行新操作,否则它会持续计数器的最后一个值.这是可取的吗?或者,一旦操作完成,计数器是否应该变为零?在这种情况下你会选择哪种柜台类型?为什么?

Mar*_*ann 7

这听起来像是AverageTimer32的一个很好的候选者.有关详细信息,请参阅此SO答案.