В чем причина того, что приведение целого числа в float медленнее, чем добавление 0.0 к этому int в Python?
import timeit
def add_simple():
for i in range(1000):
a = 1 + 0.0
def cast_simple():
for i in range(1000):
a = float(1)
def add_total():
total = 0
for i in range(1000):
total += 1 + 0.0
def cast_total():
total = 0
for i in range(1000):
total += float(1)
print "Add simple timing: %s" % timeit.timeit(add_simple, number=1)
print "Cast simple timing: %s" % timeit.timeit(cast_simple, number=1)
print "Add total timing: %s" % timeit.timeit(add_total, number=1)
print "Cast total timing: %s" % timeit.timeit(cast_total, number=1)
Выходной сигнал которого:
Добавить простую синхронизацию: 0.0001220703125
Простая синхронизация: 0.000469923019409
Добавить общее время: 0.000164985656738
Общее время: 0.00040078163147