小编Isa*_*her的帖子

为什么numpy的exp比Matlab慢?如何使其更快?

我有一个非常简单的示例,该示例显示NumPy的np.exp速度比Matlab慢大约10倍。如何加速Python?我正在运行32位Python 2.7,NumPy 1.11.3版本,并且numpy正在使用MKL blas&lapack库。

而且,时间差异如此之大,以至于我认为计时机制不会产生太大影响。

Python中的代码示例:

import numpy as np
import timeit

setup='import numpy as np; import numexpr as ne; n=100*1000; a = np.random.uniform(size=n)'
time = timeit.timeit('b=np.exp(a)', setup=setup, number=1000)
print 'Time for 1000 (np.exp): ',time
time = timeit.timeit('b=ne.evaluate("exp(a)")', setup=setup, number=1000)
print 'Time for 1000 (numexpr): ',time
Run Code Online (Sandbox Code Playgroud)

结果是:

Time for 1000 (np.exp):  2.25906916167
Time for 1000 (numexpr):  0.591470532849
Run Code Online (Sandbox Code Playgroud)

在Matlab中:

a = rand([100*1000,1]);
times = [];
for i=1:1000,
    tic
    b = exp(a);
    t=toc;
    times(i) = t;
end

fprintf('Time for 1000: …
Run Code Online (Sandbox Code Playgroud)

python performance matlab numpy

3
推荐指数
1
解决办法
659
查看次数

标签 统计

matlab ×1

numpy ×1

performance ×1

python ×1