Следующее умножение Python 3.x в среднем составляет от 1,66 до 1,77 с:
import time
start_time = time.time()
num = 0
for x in range(0, 10000000):
# num += 2 * (x * x)
num += 2 * x * x
print("--- %s seconds ---" % (time.time() - start_time))
если я заменю 2 * x * x
на 2 *(x * x)
, он займет от 2.04
до 2.25
. Как так?
С другой стороны, в Java это наоборот: 2 * (x * x)
быстрее в Java. Java test link: почему 2 * (i * i) быстрее, чем 2 * я * я в Java?
Я запускал каждую версию программы 10 раз, вот результаты.
2 * x * x | 2 * (x * x)
---------------------------------------
1.7717654705047607 | 2.0789272785186768
1.735931396484375 | 2.1166207790374756
1.7093875408172607 | 2.024367570877075
1.7004504203796387 | 2.047525405883789
1.6676218509674072 | 2.254328966140747
1.699510097503662 | 2.0949244499206543
1.6889283657073975 | 2.0841963291168213
1.7243537902832031 | 2.1290600299835205
1.712965488433838 | 2.1942825317382812
1.7622807025909424 | 2.1200053691864014