我想追踪代码的性能,因此使用 System.DateTime.Now
存储了开始和结束时间。我用两者之间的差异作为代码执行所需的时间。
然而,我注意到差异似乎不准确。所以我尝试使用一个 Stopwatch
对象。结果证明这要比计算使用 System.DateTime.Now
的开始和结束时间之间的差异更加精确得多。
有人可以告诉我为什么 Stopwatch
会比使用 System.DateTime.Now
计算开始和结束时间之间的差异更准确吗?
顺便说一下,我不是在讨论百分之十分之一的问题。我得到了大约 15-20% 的差异。
DateTime.UtcNow
而不是DateTime.Now
,因为您通常不希望夏令时变化和其他本地时间差异影响结果。 - Daniel Pryden