Dlaczego odejmowanie jest szybsze niż dodawanie w Pythonie?

Optymalizowałem trochę kodu Pythona i próbowałem następującego eksperymentu:

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

Druga pętla jest niezawodnie szybsza, od wąsy do 10%, w zależności od systemu, na którym ją uruchamiam. Próbowałem zmienić kolejność pętli, liczbę wykonań itp. I nadal wydaje się działać.

Nieznajomy,

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

(tzn. uruchomienie pętli wstecz) jest szybsze niż

for i in range(10000000):

nawet gdy zawartość pętli jest identyczna.

Co daje, a czy jest tu bardziej ogólna lekcja programowania?

questionAnswers(10)

yourAnswerToTheQuestion