DateTime karşılaştırmalarında veya hesaplamalarında, DateTime.Now özelliği yerine DateTime.UtcNow özelliğini kullanmanın performans üzerinde olumlu etkisi olacaktır. Bunun nedeni, DateTime.UtcNow özelliğinin işlemleri culture-neutral gerçekleştiriyor olmasıdır.
Örneğin aşağıdaki kod bloğunda DateTime.Now özelliğini kullandığım zaman işlem 4,998 saniyede tamamlanıyor.
DateTime startTime = DateTime.UtcNow;
for (int i = 0; i < 10000000; i++)
{
DateTime result = DateTime.Now;
}
DateTime endTime = DateTime.UtcNow;
Ancak for döngüsünün içindeki DateTime.Now ifadesini DateTime.Now ile değiştirdiğim aşağıdaki kod blığunun çalışması 0,301 saniyede tamamlanıyor.
DateTime startTime = DateTime.UtcNow;
for (int i = 0; i < 10000000; i++)
{
DateTime result = DateTime.UtcNow;
}
DateTime endTime = DateTime.UtcNow;
Büyük ölçekli projelerde bu özelliğin oldukça sık kullanıldığını dikkate alacak olursak, toplamda uygulama performansını ciddi oranda etkileyebilecek bir ipucu olarak dikkate alabiliriz.
Not: İşlem süreleri kendi kullandığım 2,4 Ghz Macbook Pro için geçerlidir. Farklı konfigurasyonlarda ve işlem esnasında bilgisayarda çalışan uygulamalara bağlı olarak, işlem sürelerinde değişiklikler olacaktır.