using System.Diagnostics;
using System.Runtime.CompilerServices;
[MethodImpl(MethodImplOptions.NoOptimization)]
public static void Main()
int iterations = 5000000;
var date = DateTime.UtcNow.AddHours(DateTime.UtcNow.Second);
var now = DateTime.UtcNow;
for (int i = 0; i < iterations; i++)
if (date == DateTime.Now)
Console.WriteLine("it is!");
Console.WriteLine($"Done executing {iterations} iterations using datetime.now. It took {(DateTime.UtcNow - now).TotalSeconds} seconds");
var date = DateTime.UtcNow.AddHours(DateTime.UtcNow.Second);
var now = DateTime.UtcNow;
for (int i = 0; i < iterations; i++)
if (date == DateTime.UtcNow)
Console.WriteLine("it is!");
Console.WriteLine($"Done executing {iterations} iterations using datetime.utcnow. It took {(DateTime.UtcNow - now).TotalSeconds} seconds");
Stopwatch sw = new Stopwatch();
var now = DateTime.UtcNow;
var ticks = DateTime.UtcNow.Ticks;
for (int i = 0; i < iterations; i++)
if (sw.ElapsedTicks == ticks)
Console.WriteLine("it is!");
Console.WriteLine($"Done executing {iterations} iterations using stopwatch. It took {(DateTime.UtcNow - now).TotalSeconds} seconds");