鱼C论坛

 找回密码
 立即注册
查看: 2504|回复: 2

[技术交流] 飞一样的PyPy——一个逆天的Python解释器

[复制链接]
发表于 2019-8-16 18:00:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 _2_ 于 2019-8-16 18:01 编辑


今天我来介绍一下PyPy,这是一个逆天的Python解释器,说白了就是用Python实现Python的解释器(总感觉有点怪怪的)。
由于使用了JIT(一种编译器,可以动态编译),使得PyPy的处理代码的速度有了质的飞跃
举个例子:
先创建一个Python文件,比较两种编译器的速度(CPython与PyPy):
import time

t = time.time()
for i in range(10**8):
    continue

print(time.time() - t)

CPython就是用C语言来实现Python的解释器。

先在官网(http://pypy.org/)下载好PyPy,然后就可以开始测试了(注意,我是在cmd上测试的):
E:\PyPy>python test.py
21.945255279541016

E:\PyPy>pypy3 test.py
0.7880451679229736

这样一对比就很明显了,CPython用了21秒,而PyPy只用了0.7秒。

可惜PyPy为了速度,抛弃了Python对第三方模块的兼容,大多数Python模块在PyPy上是不能用的,而且Python与PyPy是独立开的,所以你也没办法用Python的模块放到PyPy上来使用了。

不过我们可以用pip来安装PyPy支持的模块,我也在网上找到了一个get-pip.py(PyPy专用的)https://raw.githubusercontent.co ... p/master/get-pip.py

可惜现在还有一些特殊的模块PyPy是不支持的,我也希望PyPy未来能够支持更多的模块吧。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-8-16 18:22:17 | 显示全部楼层
你可以了解下numba?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-16 20:55:51 | 显示全部楼层
新手·ing 发表于 2019-8-16 18:22
你可以了解下numba?

别再提 jit 了,使用会抛出警告
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-5 00:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表