Какой цикл больше нагружает систему? For или While. Каким циклом пользоваться предпочтительней, часто одну и ту же операцию можно сделать и используя и от и другой
-
4Это не критично для системы. Для компилятора - это примерно один и тот же набор команд. Тут скорее вопрос в логике и читаемости кода. Хотелось бы увидеть фрагмент кода. И тогда можно решить какой цикл предпочтителен для данной конкретной ситуации. – VeLKerr Jul 15 '15 at 17:34
-
2Во-первых, они одинаковы, а во-вторых, джава - это немного не тот язык, для которого имеет смысл спрашивать о подобных вещах. Или имелся в виду foreach? – Qwertiy Jul 15 '15 at 17:42
-
1Кто за закрытие голосовал - почему?? – Qwertiy Jul 15 '15 at 17:42
2 Answers
Вы опоздали с вашим вопросом лет эдак на 30-40.
Сейчас никакой разницы нет, вообще. Компиляторы умные, и если смысл кода по сути один и тот же, обычно производят одинаковый байткод.
Кроме того, даже если бы производительность разных видов циклов и отличалась, расходы времени на управление циклами составляют порядка нескольких наносекунд. «Оптимизация» такого толка вам ничего не принесёт: расходы на запуск приложения (чтение его из файловой системы) на несколько порядков больше.
Преждевременная оптимизация — источник всех бед. Оптимизируйте лучше алгоритмы и структуры данных. И не забывайте о читаемости кода, она в миллионы раз важнее потенциального выигрыша в одну процессорную инструкцию.
- 206,799
Сейчас нет особо большой разницы. Для понимания: цикл while (i<10) при компиляции превратится в цикл for (;i<10;).
- 4,179