Bu makale , her şeyden önce üç alternatifi karşılaştırmanız gerektiğini söylüyor Stopwatch
, DateTime.Now
AND DateTime.UtcNow
.
Ayrıca, bazı durumlarda (performans sayacı mevcut olmadığında) Kronometre'nin DateTime.UtcNow + ekstra işlem kullandığını gösterir. Bu nedenle, bu durumda DateTime.UtcNow'un en iyi seçenek olduğu açıktır (çünkü diğer kullanımı + bazı işlemler)
Ancak, ortaya çıktığı gibi, sayaç neredeyse her zaman var - bkz. Yüksek çözünürlüklü performans sayacı ve .NET Kronometre ile ilgili varlığı hakkında açıklama? .
İşte bir performans grafiği. UtcNow'un düşük performans maliyetinin alternatiflere kıyasla ne kadar düşük olduğuna dikkat edin:
X ekseni örnek veri boyutudur ve Y ekseni örneğin göreli süresidir.
Bir şey Stopwatch
daha iyi, daha yüksek çözünürlük zaman ölçümleri sağlamasıdır. Bir diğeri daha çok OO doğası. Ancak, etrafında bir OO sarmalayıcısı oluşturmak UtcNow
zor olamaz.