Python在我的Windows 7机器上的加载时间是在VM上运行的Ubuntu 14.04的17倍(在同一硬件上的Windows内部)。Anaconda3发行版用于Windows和Ubuntu的默认python3.4。
从Bash提示符(Windows上的Git Bash)中:$ time python3 -c "pass"
在Windows上返回0.614s,在Linux上返回0.036s
当加载包时,情况会变得更糟:$ time python3 -c "import matplotlib"
在Windows上返回6.01s,在Linux上返回0.189s
Spyder在Windows上需要高达51秒的加载时间,在Linux上需要1.5秒的加载时间。
我还没来得及确定我为什么会有这样的表现问题。有人知道我下一步该怎么做吗?
编辑:
有人认为Why is python so much slower on windows?可能是重复的,但我的性能差异要大得多,并不是简单地由不同的库依赖项和编译器解释的。在我看来,这与文件系统的差异有关。
我怀疑访问扫描中有防病毒软件,但为了以防万一,我禁用了防病毒软件。>>> sys.path
['', 'c:\\Anaconda3\\python34.zip', 'c:\\Anaconda3\\DLLs', 'c:\\Anaconda3\\lib', 'c:\\Anaconda3', 'c:\\Anaconda3\\lib\\site-packages', 'c:\\Anaconda3\\lib\\site-packages\\Sphinx-1.2.3-py3.4.egg', 'c:\\Anaconda3\\lib\\site-packages\\cryptography-0.8-py3.4-win-amd64.egg', 'c:\\Anaconda3\\lib\\site-packages\\nose-1.3.4-py3.4.egg', 'c:\\Anaconda3\\lib\\site-packages\\win32', 'c:\\Anaconda3\\lib\\site-packages\\win32\\lib', 'c:\\Anaconda3\\lib\\site-packages\\Pythonwin', 'c:\\Anaconda3\\lib\\site-packages\\setuptools-14.3-py3.4.egg']
更新:
在同一台电脑上重新安装Windows 8.1pro解决了这个问题。在重新安装所有应用程序和Anaconda3后,Python的性能是我见过的最好的。不幸的是,这个问题的根本原因仍然是未知的。
更正:
在我的IT部门安装了Sophos SafeGuard加密软件和MS Endpoint Protection之后,问题又出现了。和以前一样缓慢的开始。禁用额外的软件并不能解决问题,因此我们正在其他机器上尝试测试以跟踪问题。