На днях я проводил некоторые тесты Python и наткнулся на что-то интересное. Ниже приведены две петли, которые делают более или менее одно и то же. Цикл 1 выполняется примерно вдвое дольше, чем цикл 2.
Петля 1:
int i = 0
while i < 100000000:
i += 1
Петля 2:
for n in range(0,100000000):
pass
Почему первый цикл намного медленнее? Я знаю, что это тривиальный пример, но это пробудило во мне интерес. Есть ли что-то особенное в функции range (), которая делает ее более эффективной, чем увеличение переменной таким же образом?