python3和pypy3有什么区别

Chanyang Sim

今天,我知道input()在任何算法问题上,pypy3的速度都比python3快性能差异几乎高达12倍。

为什么会有这样的差异?

索拉夫·赖

请检查一下这一点,当我们谈到Python编程语言时,我们通常不仅指该语言,还指其实现。Python是一种语言规范,可以通过许多不同的方式实现。

Python编程语言的默认实现是Cpython(假设python3表示Cpython)顾名思义,Cpython是用C语言编写的。Cpython将python源代码编译为中间字节码,该字节码由Cpython虚拟机执行。

Jython是可以在Java平台上运行的Python编程语言的实现。Jython程序使用Java类而不是Python模块。Jython编译为Java字节码,然后可以由Java虚拟机运行。

PyPy 如果您希望代码运行得更快,则应该只使用PyPy。— Guido van Rossum(Python的创建者) Python是一种动态编程语言。据说Python速度很慢,因为默认的CPython实现以字节码编译python源代码,这比机器代码(本机代码)慢。PyPy进来了。

PyPy是用Python编写的Python编程语言的实现。解释器使用RPython(Python的子集)编写。PyPy使用即时(JIT)编译。简而言之,JIT使用编译方法使解释器系统更高效,更快速。因此,基本上,JIT可以将源代码编译为本机代码,从而使其非常快。PyPy还默认支持无堆栈模式,提供微线程以实现大规模并发。据说Python比Cpython快7.5倍。

希望这会帮助你。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章