цикл for или цикл while, что быстрее?

Возможный дубликат:
Какой цикл быстрее, пока или для

мы можем использовать цикл for, а также циклы while для той же цели, что быстрее

например: я хочу зациклить элемент 1000000000 раз, я должен использовать цикл for или while?

это итерация, тогда зачем нам оба в программировании нужен только один?

так как обе петли работают одинаково, то зачем нам обе?


person Nighil    schedule 21.01.2011    source источник
comment
stackoverflow.com/a/1165566/195488   -  person    schedule 02.04.2012


Ответы (4)


Ваш компилятор, вероятно, умнее вас и оптимизирует код за вас. Так что обычно вам не нужно беспокоиться о таких проблемах. Если вы действительно хотите знать, сравните различные подходы, измерьте интересующие вас параметры и примите решение на основе результатов тестирования.

Удачи!

person Dirk    schedule 21.01.2011

Две петли примерно эквивалентны.

Вы должны просто выбрать тот, который больше подходит для вашего кода, то есть тот, который делает код более читаемым.

Например, если вашему циклу требуется фиктивная переменная, то цикл for может быть более подходящим.

person Jack    schedule 21.01.2011

Это буквально то же самое. Перевод на машинный язык обеих вещей обычно одинаков.

person Klark    schedule 21.01.2011

оба достаточно быстры, используйте то, что лучше выражает ваше намерение. Обычно, если цикл for применим, он предпочтительнее, потому что он выражает более специальное значение (перебор контейнера или диапазона) и, следовательно, является более информативным.

если вы действительно беспокоитесь о производительности, используйте раскручивание цикла (повторите тело цикла несколько раз и уменьшите количество итераций) или другие методы оптимизации. Выбор между языковыми конструкциями редко имеет значение для современных оптимизированных компиляторов.

person user396672    schedule 21.01.2011