Python性能拼图w/数组

2024-09-28 03:17:22 发布

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

请考虑下面的Pythonic片段,“计时.py“:”

import numpy as np

def exponentials(n_, x_):
    n_exp = np.arange(0,n_,1)
    y_exp = np.zeros(n_)
    y_exp[:] = np.exp(-x_*n_exp[:])

def powers(n_, x_):
    n_exp = np.arange(0,n_,1)
    y_exp = np.zeros(n_)
    expbase = np.exp(-x_)
    y_exp = expbase**n_exp

现在考虑以下计时结果

In [1]: import timing

In [2]: %timeit timing.exponentials(1e3, 1.1)
100000 loops, best of 3: 14 µs per loop

In [3]: %timeit timing.powers(1e3, 1.1)
10000 loops, best of 3: 27.5 µs per loop

我本以为计算一次指数函数,然后再计算多项式,会比计算指数函数快10^3倍。充其量,我希望他们是可比的。有人知道这里发生了什么吗?你知道吗

这是带有python2.7.10的numpyversion1.9.2,如果有必要的话。你知道吗


Tags: ofinimportdefnpzerosbest计时

热门问题