Python: while 1
Starting with Py2.3, the interpreter optimizes «while 1» to just a single jump. In contrast «while True» takes several more steps. While the latter is preferred for clarity, time-critical code should use the first form.
Это сайт — моя персональная записная книжка. Интересна мне, по большей части, история, своя жизнь и немного программирование.
Starting with Py2.3, the interpreter optimizes «while 1» to just a single jump. In contrast «while True» takes several more steps. While the latter is preferred for clarity, time-critical code should use the first form.
одного не ясно — почему в оптимизатор не зашить:
while 1 = while true = one step :)
это всё равно константы.
Комментарий для companyowner.myopenid.com:
Не знаю :) Та же мысль родилась. Там вообще много странных вещей. Например, a = 1+2 в цикле будет вычисляться каждый раз.
В Python 2.x True можно переназначать. В Python 3.x True сделали ключевым словом (то есть при попытке назначить что-то другое будет ошибка SyntaxError), и там действительно разницы уже нет (оба варианта выполняются без дополнительной операции чтения значения для True).
Подробнее: http://stackoverflow.com/questions/3815359/while-1-vs-for-whiletrue-why-is-there-a-difference
Комментарий для magic-lantern.livejournal.com:
Да, тогда я этого не знал, потом узнал: http://bolknote.ru/all/2144/
Но всё равно, спасибо!