Python:Windows10上的Scipy与MacOS相比非常慢

时间:2019-04-29 12:34:13

标签: python windows macos performance scipy

强调的texti尝试在我的两个分区MacOS Mojave和Windows 10上的macbook pro 15上执行一个简单的python程序。

我使用 spsolve 函数来解决某些矩阵上的稀疏线性系统,并且我发现与Macos相比,在Windows上具有相同矩阵的相同代码要慢得多

例如:

  • 矩阵1-> MacO 29秒 / Windows :377秒

在MacOS上,当我执行这些计算时,处理器将变为全速,并且我感觉风扇在变强。 在Windows上不会发生这种情况,处理器保持在20%

我在两个系统上都使用Python 3 64bit。

from scipy import array, linalg, dot
import scipy.io as sio
import numpy as np
import time
from scipy.sparse.linalg import spsolve

matrix_names = ['cfd1']

for matrice in matrix_names:
    mat = sio.loadmat('/matrix_path/%s' %matrice)

    A = mat['Problem']['A']
    A=A[0][0]
    matrix_size = np.shape(A)[0]
    xe = np.ones(matrix_size)
    b = A * xe

    start = time.time()
    X = spsolve(A, b) 
    end = time.time()

    print("Times %.6f sec" %(end-start))

慢速功能是

X = spsolve(A, b)

1 个答案:

答案 0 :(得分:0)

我找到了问题。

在Windows上,默认情况下未实现MKL库。 我不确定在MacOS上是否集成了该文件,但是在Windows上使用Anaconda(使用MKL库实现Scipy),Python文件的执行速度与在MacOS上一样快。