为什么在Python3中导入模块要慢得多,有没有办法解决这个问题?

为什么在Python3中导入模块要慢得多,有没有办法解决这个问题?,python,python-3.x,python-2.7,performance,Python,Python 3.x,Python 2.7,Performance,与Python 2相比,在Python 3中导入某些模块需要更长的时间: $ t python2 -c 'import requests' 0m0.174s $ t python3 -c 'import requests' 0m0.403s $ t python2 -c 'import bs4' 0m0.256s $ t python3 -c 'import bs4' 0m0.431s 由于我的一些项目同时导入了模块和其他一些模块,我收到了用户的抱怨,他们注意到延迟,总的来说,延迟超过了一秒钟

与Python 2相比,在Python 3中导入某些模块需要更长的时间:

$ t python2 -c 'import requests'
0m0.174s
$ t python3 -c 'import requests'
0m0.403s
$ t python2 -c 'import bs4'
0m0.256s
$ t python3 -c 'import bs4'
0m0.431s
由于我的一些项目同时导入了模块和其他一些模块,我收到了用户的抱怨,他们注意到延迟,总的来说,延迟超过了一秒钟

上面的基准是Python2.7.15rc1和Python3.6.7,这是Ubuntu18.04LTS上最新的系统Python,所以是非常流行的发行版


你知道是什么导致了新Python上的延迟,以及我如何缓解这个问题吗?

如果你比较一下
python2-c'pass'
python3-c'pass'
,你会怎么想?在发布的基准测试中,Python 3总是比Python 2慢(当然还有很多)。一般来说,Python 3的新版本比旧版本快。我建议升级到最新的3.7版本。您可能无法获得与Python2相同的速度,但希望您能比3.6有所改进。例如,Python3模块可能缺少
.pyc
文件,一些权限问题会阻止创建
.pyc
文件(或者可能会阻止Python读取
.pyc
文件)。对于启动缓慢(对于任何运行时,任何语言)的正常缓解措施是运行后台服务/守护进程来完成工作,并且有一种机制可以向它发送命令以执行所需的操作。@user2357112 Python 3的速度较慢,只需
pass
:Python 2的速度为0.074s,而不是0.027s。所以,是的,我看到的导入可能只是Python 3中相当广泛的性能退化的一个症状。