Давайте предположим, что мы имеем эту структурубыстрые «для» петель
struct structure
{
type element;
int size;
}
и мы в основном и мы хотим перебрать что-то.
Это быстрее
for (int i = 0; i < structure.size; ++i)
или
int size = structure.size;
for (int i = 0; i < size; ++i)
?
Имеет ли вес более непрерывное связывание с sctructure в первом методе или дополнительном пространстве памяти, а также время, затрачиваемое на создание первой переменной в первой строке метода n.2?
Я не вижу другого различия между ними, поэтому, если вы это сделаете, пожалуйста, поделитесь!
EDIT: Я отредактировал этот вопрос так, чтобы он стал кратким, простым и легким. Пожалуйста, пересмотреть голосование, которое вы ему дадите. Спасибо.
Вы измерили его? –
Идеальная тема для этой цитаты: «Программисты тратят огромное количество времени на размышления о скорости некритических частей своих программ или беспокоятся о скорости их некритических частей, и эти попытки эффективности действительно оказывают сильное негативное влияние при рассмотрении отладки и обслуживания. забудьте о небольшой эффективности, скажем, около 97% времени: преждевременная оптимизация - это корень всего зла, но мы не должны упускать наши возможности в этих критических 3% » – mariozski
Оба равны. Я уверен, что ваш компилятор достаточно умен, чтобы оптимизировать код уровень. с GCC вы можете явно форсировать для лучшей оптимизации с флагом '-o3, -o2' –