查看原文
其他

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

快学Python 2022-05-28
出品 | 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在数据处理与可视化分析方面的应用。

学Python、练语法、取数据、画图表、可视化、绘地图、重实战……一书在手,精通Python数据分析与可视化。

赠送规则:只需要在下方进行点赞+在看+留言,其中倒数第5位留言的同学进行送书。11月21日20:00截止,本月已中奖读者不参与此次活动。


推荐阅读    点击标题可跳转


值得学习练手的 5 个 Python 迷你程序(附代码) 手把手教你Python获取全部金融数据! 这40个Python可视化图表案例,强烈建议收藏! 值得收藏的30道Python练手题(附详细答案)


点击这里,阅读更多Python文章!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存