Я понимаю, что это можно утверждать как не-проблему, но я пишу программное обеспечение для сред HPC, поэтому это увеличение скорости на 3,5 раза действительно имеет значение.
In [1]: %timeit 10 / float(98765)
1000000 loops, best of 3: 313 ns per loop
In [2]: %timeit 10 / (98765 * 1.0)
10000000 loops, best of 3: 80.6 ns per loop
Я использовал dis
, чтобы посмотреть на код, и я предполагаю, что float()
будет медленнее, поскольку для этого требуется вызов функции (к сожалению, я не мог dis.dis(float)
видеть, что он на самом деле делает).
Я предполагаю, что второй вопрос будет, когда следует использовать float(n)
и когда следует использовать n * 1.0
?