为什么Y*=2比Y+=Y快?

2024-09-25 00:26:11 发布

您现在位置:Python中文网/ 问答频道 /正文

问题:

为什么Y*=2Y+=Y

elepased = timeit.timeit(
    stmt="Y*=2; np.add(X, Y, out=X)",
    setup=setup,
    number=iterations
)
elepased / iterations * 1e6 

81.25868347997312

elepased = timeit.timeit(
    stmt="Y+=Y; np.add(X, Y, out=X)",
    setup=setup,
    number=iterations
)
elepased / iterations * 1e6

92.05061321998073

import numpy as np
import timeit

setup = """
import numpy as np

X = np.ones(100000, dtype=np.int)
Y = np.ones(100000, dtype=np.int)
"""
iterations = 100000

Tags: importnumpyaddnumberasnpsetupones