Почему вычитание быстрее, чем сложение в Python?

Я оптимизировал некоторый код Python и попробовал следующий эксперимент:

import time

start = time.clock()
x = 0
for i in range(10000000):
    x += 1
end = time.clock()

print '+=',end-start

start = time.clock()
x = 0
for i in range(10000000):
    x -= -1
end = time.clock()

print '-=',end-start

Второй цикл надежно быстрее, где-то от усика до 10%, в зависимости от системы, на которой я его запускаю. Я'мы пытались варьировать порядок циклов, количество выполнений и т. д., и все равно кажется, что это работает.

Незнакомец,

for i in range(10000000, 0, -1):

(т.е. запустить цикл в обратном направлении) быстрее, чем

for i in range(10000000):

даже когда содержимое цикла идентично.

Что дает, и есть ли здесь более общий урок программирования?

Ответы на вопрос(10)

Ваш ответ на вопрос