Итог: скорость имеет значение.Для характеристик петли
Я просмотрел свой код и решил увидеть еще несколько способов повысить его эффективность (даже если на миллисекунду это будет здорово). Все эти члены данных, методы, бесполезное создание данных - всем нам научили следовать рекомендациям и как и не делать.
За исключением петель.
Мы всегда были рады использовать их, потому что они помогают улучшить читаемость кода и помочь пользователю. ПОЛЬЗОВАТЕЛЬ. После того, как я сказал, определение в моей голове эта мысль пришла в голову:
for (int i = 0; i < 100; i++)
{
//whatever code
}
Давайте предположим случай, когда мы знаем длину. Это выполняет код 100 раз, но он выполняет 201 операцию, которую можно опустить, чтобы помочь машине. Что делать, если мы копируем вставить код в 100 раз, выбрасывая инициализации, состояние и окончание:
//Code[0]
//Code[1]
//Code[2]
//...
Это маленький кусочек, но все-таки ...
Является ли это обычная практика для лунатиков эффективности?
Итог: ** компиляторы более умны в этом, чем вы (или меня): D **. Если вам действительно интересно узнать о производительности, запустите некоторые (ну, много) профилей производительности. Обратите особое внимание на все различные флаги оптимизации компилятора, которые можно применять, и целевую архитектуру. Обычно это называется «разворот цикла» - и я бы осмелился сказать, что это «сумасшедшая» идея. – user2246674
'Lunatics' - это слово. Современные компиляторы и переводчики будут делать такие вещи очень эффективно. Ваши усилия должны быть направлены на профилирование вашего кода и работу над теми разделами, которые занимают много времени и выполняются повторно. Я уверен, что вы можете найти что-то лучше, чем цикл 'for' –
Помните, что« больше медленнее ». – Gabe