Python性能拼图w / Arrays

时间:2015-10-12 18:14:23

标签: python performance numpy

考虑以下Pythonic片段“timing.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倍要快得多。充其量,我希望它们具有可比性。有没有人对这里发生的事情有任何见解?

如果重要的话,这是带有Python 2.7.10的NumPy 1.9.2版。

0 个答案:

没有答案