首页 > 解决方案 > python3和pypy3有什么区别

问题描述

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

为什么会有这样的差异?

标签: python-3.xpypy

解决方案


请检查一下,当我们谈到 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 还默认支持 stackless 模式,为海量并发提供微线程。据说它比 Cpython 快大约 7.5 倍。

希望这会帮助你。


推荐阅读