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.
Вот как…
12 марта 2009 16:43

Owner (companyowner.myopenid.com)
12 марта 2009, 18:27

одного не ясно - почему в оптимизатор не зашить:
while 1 = while true = one step :)

это всё равно константы.

bolk (bolknote.ru)
12 марта 2009, 18:34, ответ предназначен Owner (companyowner.myopenid.com):

Не знаю :) Та же мысль родилась. Там вообще много странных вещей. Например, a = 1+2 в цикле будет вычисляться каждый раз.

MaGIc laNTern (magic-lantern.livejournal.com)
10 ноября 2012, 15:05

В 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

bolk (bolknote.ru)
10 ноября 2012, 22:33, ответ предназначен magic-lantern.livejournal.com:

Да, тогда я этого не знал, потом узнал: http://bolknote.ru/2009/05/20/~2144/

Но всё равно, спасибо!

Ваше имя или адрес блога (можно OpenID):

Текст вашего комментария, не HTML:

Кому бы вы хотели ответить (или кликните на его аватару)