微软发布 Python 的 JIT 编译器:Pyjion

共 1368字,需浏览 3分钟

 ·

2021-11-16 05:50

出品 | OSC开源社区

用于 Python 3.10 及以上版本的嵌入式 JIT 编译器 Pyjion 已发布 1.0 版本。

Pyjion 拥有以下特性:

  • 配置文件引导的 JIT 编译器

  • 原生 64 位浮点数和整数支持

  • 小而快的编译器

  • 支持 Windows、macOS 和 Linux

  • 支持 Intel 和 ARM CPU

  • 内置 IL 和 ASM 反汇编器

  • 支持本机调试和分析工具

Pyjion 是由 Python 软件基金会研究员和微软研究员 Anthony Shaw  合作开发的一种用于 Python 的即时 (JIT) 编译系统,它不是像 PyPy 那样的独立 runtime,而是在 CPython 3.10 下运行的可安装库。

安装后,只需导入 Pyjion 库并启用,即可在程序中使用:导入后运行的所有内容都属于 JIT 编译。

项目地址:https://www.trypyjion.com

Pyjion 的工作原理是通过 .NET EE 编译器将 Python 虚拟机操作码编译成汇编语言,基准测试表明:在实际工作中,Pyjion 比常规 Python 快两到三倍,部分优化允许加速10倍,常规算术的速度可以快一个数量级

Pyjion 包含一个中间件层,允许 WSGI 应用程序在 Pyjion 下运行,因此像 web 应用这种长时间运行的应用程序非常适合 JIT 加速。

目前,有一些 Python 特性还不能在 Pyjion 中实现,比如 block 和 async/await,不过这些特性都已经在 Pyjion 的路线图中。

由于各种各样的原因,让 Python 变得更快非常困难。大多数提高 Python 速度的方法仍然依赖于 Python C API 来实现兼容性,性能也会受到限制。

Pyjion 也不例外,它仍然依赖 Python C API,但  Pyjion 的优化计划(例如,优化对数组类型的访问)表明,它的开发人员已经在思考如何处理这些问题。

Pyjion 1.0 依赖项:

  • CPython 3.10 :https://www.python.org/downloads/release/python-3100
  • .NET 6 :https://dotnet.microsoft.com/download/dotnet/6.0

Python猫技术交流群开放啦!群里既有国内一二线大厂在职员工,也有国内外高校在读学生,既有十多年码龄的编程老鸟,也有中小学刚刚入门的新人,学习氛围良好!想入群的同学,请在公号内回复『交流群』,获取猫哥的微信(谢绝广告党,非诚勿扰!)~


还不过瘾?试试它们




Python 官方研讨会:彻底移除 GIL 真的可行么?

终于懂了:协程思想的起源与发展

如何提高 Python 装饰器的使用效率?

计算机科学界至今未解决的四大难题

Python 为什么不支持 switch 语句?

一份可以令 Python 变快的工具清单


如果你觉得本文有帮助
请慷慨分享点赞,感谢啦
浏览 41
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报