Я тестировал некоторые случаи в C #, чтобы рассмотреть некоторые важные аспекты производительности. Во время тестирования я столкнулся со странным случаем
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());
, тогда как функция печати была просто:
public static void print ()
{
for (int i = 0; i < 10000; i++)
{
Console.WriteLine( string.Format("{0}", i));
}
}
Я был шокирован результатами, в то время как первые три цикла это заняло около 5 секунд, а после этого - около 0,5 секунды.Вот некоторые из них:
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
Я просто хочу знать, почему после третьей итерации оно улучшилось почти в 10 раз?