【发布时间】:2019-03-29 23:56:29
【问题描述】:
拥有一个长时间运行的 Stopwatch 单个实例意味着什么?
例如
public static Stopwatch Stopwatch = Stopwatch.StartNew();
然后到处使用Stopwatch.ElapsedTicks?
我试图避免在热路径上产生额外的 GC 压力,并且能够在没有 #IF 包装器的情况下将大部分诊断代码留在其中。
【问题讨论】:
-
没什么特别的。无论您是否使用 Stopwatch,为 Stopwatch 提供样本的底层硬件计数器始终在滴答作响。它不像 DateTime.UtcNow 那样经过校准,因此如果您连续几天使用它,那么您可能会看到与常规时钟的差异。没有 GC 负载。
标签: c# .net performance stopwatch