强调的texti尝试在我的两个分区MacOS Mojave和Windows 10上的macbook pro 15上执行一个简单的python程序。
我使用 spsolve 函数来解决某些矩阵上的稀疏线性系统,并且我发现与Macos相比,在Windows上具有相同矩阵的相同代码要慢得多。
例如:
在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)
答案 0 :(得分:0)
我找到了问题。
在Windows上,默认情况下未实现MKL库。 我不确定在MacOS上是否集成了该文件,但是在Windows上使用Anaconda(使用MKL库实现Scipy),Python文件的执行速度与在MacOS上一样快。