Python运行速度慢怎么办?5种方法解决。老男孩Python
老男孩IT教育
行业新闻
2021年7月9日 11:23
在我们日常开发中,开发效率是很重要的,也能直接影响到我们的工作时长,运行速度快的话,我们可能一上午就完成指定工作了,而Python在运行速度方面,确实没有C或Java快,但Python也在慢慢改进。本篇跟大家说明下如何改进,请看下文:
在我们日常开发中,开发效率是很重要的,也能直接影响到我们的工作时长,运行速度快的话,我们可能一上午就完成指定工作了,而Python在运行速度方面,确实没有C或Java快,但Python也在慢慢改进。本篇跟大家说明下如何改进,请看下文:
·PYPY:PyPy是使用率较高的一个,它和现存Python代码高度兼容。它使用适时编译来加速Python,它集成了Numpy,Numpy之前也一直被用来加速Python的运行。使用Python3的代码需要对应地使用PyPy3。PyPy目前只支持到Python3.2.5,对Python3.3的支持正在进行中。
·Pyston:它使用LLVM编译器架构来加速Python,同样的它也使用了适时编译。相比于PyPy,Pyston还处于早期阶段,它只支持Python的部分特性。Pyston把工作分成两个部分,一部分是语言的核心特性,另一部分是把性能提升到可接受的程度。Pyston距离可以在生产环境使用还有一段距离。
·Nuitka:有些团队尝试将Python代码转换为能够在本地高效运行的其他语言的代码。其中著名的项目是Nuitka--把Python代码转换为C++代码--虽然运行时还是依赖Python运行时。这样限制了它的可移植性,不过性能提升是可观的。长期规划中,Nuitka还准备让C语言能够调用Nuitka编译的Python代码,这样性能提升将更加明显。
·Cypython:Cython(Python的C语言扩展)是Python的超集,它能把Python代码编译成C代码,并与C和C++进行交互。它可以作为Python项目的扩展使用(重新性能要求高的部分),或者单独使用,不涉及传统的Python代码。缺点是你写的不是Python,所以需要手动迁移,缺乏可移植性。
·Numba:Numba结合了上面几个项目的想法。学习了Cython,Numba也采用了部分加速的策略,只加速CPU密集型的任务;同时它又学习了PyPy和Pyston,通过LLVM运行Python。你可以用一个装饰器指定你要用Numba编译的函数,Numba继承Numpy来加速函数的执行,Numba不做适时编译,它的代码是预先编译的。
跟老男孩学Python,0基础便可学会,我们会从最基础的讲起,循序渐进深入,学习5个月的时间就可以毕业找工作。
推荐阅读:
