Mik*_*ike 16 python benchmarking matplotlib anaconda
在我的Windows 7计算机上加载Python比在VM上运行的Ubuntu 14.04(在同一硬件上的Windows内部)上加载时间长17倍.Anaconda3发行版用于Windows和Ubuntu默认python3.4.
从Bash提示符(Windows上的Git bash):
$ time python3 -c "pass"
Run Code Online (Sandbox Code Playgroud)
在Windows上返回0.614s,在Linux上返回0.036s
加载包时情况会变得更糟:
$ time python3 -c "import matplotlib"
Run Code Online (Sandbox Code Playgroud)
在Windows上返回6.01s,在Linux上返回0.189s
Spyder在Windows上加载了51秒,在Linux上加载了1.5秒.
我没有运气确定为什么会出现这种性能问题.有没有人有任何想法我接下来应该尝试什么?
编辑:
为什么python在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']
Run Code Online (Sandbox Code Playgroud)
更新:
在同一台PC上全新安装Windows 8.1 Pro解决了这个问题.重新安装所有应用程序后,Anaconda3的Python性能是我见过的最好的.不幸的是,这个问题的根本原因仍然未知.
更正:
在我的IT部门安装了Sophos SafeGuard加密软件和MS Endpoint Protection之后,问题就出现了.和以前一样慢启动.禁用额外的软件并没有解决问题所以我们正在尝试在其他机器上进行测试来追踪问题.
通过卸载 Sophos SafeGuard 可以解决该问题。但这并不是一个令人满意的解决方案,因为我的公司在我每天访问的目录上使用了这个文件系统加密软件。除了 Python(显然还有 Ruby)之外,我似乎没有任何其他性能问题。
注意:Sophos SafeGuard 不是防病毒软件。它是一个企业文件系统加密系统。奇怪的是,本地文件系统(例如安装 Python 的地方)明确未启用加密。
| 归档时间: |
|
| 查看次数: |
6485 次 |
| 最近记录: |