Я быстро протестировал код, используя Snippet Compiler . Код, который я использовал, выглядит следующим образом:
public static void Main()
{
DateTime datStart = DateTime.UtcNow;
const int timesToLoop = 1000000;
for (int i=0; i < timesToLoop; i++)
{
WL("Line Number " + i.ToString());
}
DateTime datEnd = DateTime.UtcNow;
TimeSpan tsTimeTaken = datEnd - datStart;
WL("Time Taken: " + tsTimeTaken.TotalSeconds);
RL();
}
Обратите внимание, что WL и RL - это просто вспомогательные методы для чтения и записи в консоль.
Чтобы проверить неконстантную версию, я просто удалил ключевое слово const
. Результаты были удивительными:
Time Taken (average of 3 runs)
Using const keyword 26.340s
Without const keyword 28.276s
Я знаю, что это очень грубый тест, но использование ключевого слова const
считается действительной микро-оптимизацией .