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

标签 python windows macos performance scipy

强调texti尝试在我的MacBook Pro 15上的两个分区上执行一个简单的Python程序:MacOS Mojave和Windows 10。

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

例如:

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

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

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

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)

最佳答案

我发现问题了。

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

关于Python:与 MacOS 相比,Scipy 在 Windows10 上非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55903507/

相关文章:

Python + Hachoir-Metadata - 从 .MP4 文件中读取 FPS 标签

python - 以欧洲格式显示 pandas 数据框

python - tkinter 中有点击事件处理程序吗?

linux - LMDB windows 数据库的最大大小

iphone - 对象的 iOS 5 'Facial Recognition'

windows - "/"和 "\"在不同操作系统中的故事

python - Django UNIQUE 约束失败

php - 如何杀死Windows后台运行的特定cmd.exe进程?

windows - 查看 NTFS (EFS) 上加密文件的密文

ruby-on-rails - 使用 RVM 成功安装 Ruby 1.9.2,但现在恢复到 1.8.7