You are skewing the information by the very fact you are attempting to log inside the loop.
Do a simple test:
Code:
for (int i=0; i<100;++i)
LogManager.LogInformation(DateTime.Now.Millisecond.ToString("000"));
Also ".Now" is SIGNIFICANTLY (a few hundred times) SLOWER than .UtcNow as every invocation must query the locale to get the timezone, and perform all of the necessary calculations.
Change to:
Code:
List<DataTime> stamps = new List<DateTime>();
while (reader.Read())
{
stamps.Add(DateTime.UtcNow);
}
// Print out the list here...
This will be much closer to "reality".