Как уже указывалось в другом ответе, оба цикла дают одинаковое поведение масштабирования O ( N ) (для всего, что происходит в теле l oop, а также для масштабирования длин l oop 50 и 100, соответственно. Точка обычно является коэффициентом пропорциональности, который сопровождает энергетический термин (c . X N ) .
На многих (большинстве) реальных системах ЦП, используемых для вычислений, важных для производительности, обычно есть кеши и конвейеры для данных, которыми манипулируют внутри циклов. Затем ответ на вопрос зависит от деталей вашего л oop тел (будут ли все данные, считанные / записанные в циклах, помещаться в некоторый уровень кэша, или второй 50-l oop пропустит все существующие значения кэша и снова извлечет данные из памяти?). Кроме того, предположение предсказание ветвления (для ветви выхода / повтора l oop, а также для ветвей l oop) оказывает сложное влияние на фактическую производительность.
Это собственный раздел вычислений Наука, чтобы точно учесть все соответствующие детали. Нужно проанализировать конкретный пример (что на самом деле делают циклы?) - и прежде, действительно ли этот l oop актуален .
Некоторые heuristi c могут, тем не менее, быть полезными : Если i
является итератором (а не только счетчиком повторений), два цикла 1..50 могут работать с одними и теми же данными. Если возможно обработать каждый элемент обоими телами l oop (что работает, только если нет никаких зависимостей между вторым l oop и состоянием других элементов после первого l oop), обычно это больше Эффективно обрабатывать каждый индекс только один раз.