I was testing some cases in C# to consider some essentials in performance,
While i was testing i faced a weird case
for (int i = 0; i < 30; i++)
{
DateTime d = DateTime.Now;
print();
result.Add ((DateTime.Now - d));
}
foreach(TimeSpan t in result)
Console.WriteLine(t.ToString());
while the print function was simply :
public static void print ()
{
for (int i = 0; i < 10000; i++)
{
Console.WriteLine( string.Format("{0}", i));
}
}
i was shocked with the results while the first three loops it took about 5 seconds while after that it took about 0.5 sec.
Here is some :
00:00:05.6212696
00:00:05.6072002
00:00:05.5837965
00:00:01.9451673
00:00:00.5526335
00:00:00.5540554
00:00:00.5676418
00:00:00.5372442
00:00:00.5772550
i just want to know why it got better by almost 10 times after the third iteration?
I just run the same code in my PC and got the following output:
As you see there is no notable difference. I would suggest, first do not loose the time on
checking the performance for these kind of cases, as it can vary from PC to PC, and repeat suggession of Jon, to use
StopWatch, for more accurate measurment.