MATLAB dos veces más rápido que Numpy

Soy un estudiante graduado de ingeniería que actualmente realiza la transición de MATLAB a Python para los propósitos de simulación numérica. Tenía la impresión de que para la manipulación básica de matrices, Numpy sería tan rápido como MATLAB. Sin embargo, parece que para dos programas diferentes escribo que MATLAB es un poco menos del doble de rápido que Numpy. El código de prueba que estoy usando para Numpy (Python 3.3) es:

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)

Mientras que para MATLAB 2012a estoy usando:

a = rand(5000,5000,3);

tic;
a(:,:,1) = a(:,:,2);
a(:,:,3) = a(:,:,1);
a(:,:,2) = a(:,:,3);
toc

El algoritmo que estoy usando es el que se usa en una NASA.sitio web comparando Numpy y MATLAB. El sitio web muestra que Numpy supera a MATLAB en términos de velocidad para este algoritmo. Sin embargo, mis resultados muestran un tiempo de simulación de 0.49 s para Numpy y un tiempo de simulación de 0.29 s para MATLAB. También he ejecutado un solucionador de Gauss-Seidel tanto en Numpy como en Matlab y obtengo resultados similares (16.5 s vs. 9.5 s)

Soy nuevo en Python y no soy muy culto en términos de programación. Estoy utilizando la distribución de Python de 64 bits de WinPython, pero también he probado Pythonxy sin éxito.

Una cosa que he leído que debería mejorar el rendimiento es construir Numpy usando MKL. Lamentablemente no tengo idea de cómo hacer esto en Windows. ¿Incluso necesito hacer esto?

¿Alguna sugerencia?

Respuestas a la pregunta(2)

Su respuesta a la pregunta