小编nic*_*lls的帖子

MATLAB的速度是Numpy的两倍

我是一名工程专业的学生,​​目前正在从MATLAB过渡到Python,用于数值模拟.我的印象是,对于基本的数组操作,Numpy会和MATLAB一样快.但是,对于我写的两个不同的程序来说,MATLAB的速度是Numpy的两倍.我用于Numpy(Python 3.3)的测试代码是:

import numpy as np
import time

a = np.random.rand(5000,5000,3)

tic = time.time()
a[:,:,0] = a[:,:,1]
a[:,:,2] = a[:,:,0]
a[:,:,1] = a[:,:,2]
toc = time.time() - tic
print(toc)
Run Code Online (Sandbox Code Playgroud)

鉴于我正在使用的MATLAB 2012a:

a = rand(5000,5000,3);

tic;
a(:,:,1) = a(:,:,2);
a(:,:,3) = a(:,:,1);
a(:,:,2) = a(:,:,3);
toc
Run Code Online (Sandbox Code Playgroud)

我使用的算法是在NASA 网站上使用的比较Numpy和MATLAB的算法.该网站显示Numpy在该算法的速度方面超过了MATLAB.然而,我的结果显示Numpy的模拟时间为0.49秒,MATLAB的模拟时间为0.29秒.我也在Numpy和Matlab上都运行了Gauss-Seidel解算器,我得到了类似的结果(16.5 s vs 9.5 s)

我是Python的新手,并且在编程方面不是非常有文化.我正在使用WinPython 64位Python发行版,但也试过Pythonxy无济于事.

我读过一篇应该提高性能的方法是使用MKL构建Numpy.不幸的是我不知道如何在Windows上执行此操作.我甚至需要这样做吗?

有什么建议?

python performance matlab numpy intel-mkl

21
推荐指数
1
解决办法
2万
查看次数

标签 统计

intel-mkl ×1

matlab ×1

numpy ×1

performance ×1

python ×1