首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python 3.13 将引入 copy-and-patch JIT 编译器

2023 年 12 月下旬,CPython 核心开发者 Brandt Bucher 向 Python 3.13 分支提交了一个添加 JIT 编译器的 PR。

viahttps://github.com/python/cpython/pull/113465

根据 PR 的描述,该 JIT 编译器采用了名为 "copy-and-patch" 的设计,其工作原理是将字节码编译成一组 “模板”,然后在运行时使用正确的值进行拼接和修补。这意味着普通 Python 用户不需要在他们的 Python 运行时中运行复杂的 JIT 编译器架构。

copy-and-patch JIT 编译器尽可能使用 LLVM 生态的工具,比如编译器采用 Clang,编译参数设为 -o3 以获取最大的性能,二进制工具用 llvm-objdump 和 llvm-readelf。

Copy-and-Patch 技术的优点是开发者无需手写汇编代码就可以生成高效的机器码,同时在运行期产生汇编代码的方式是快速的。

相比于完整的 JIT 编译器,copy-and-patch JIT 编译器只需要在编译 CPython 的机器上安装 LLVM JIT 工具。这种设计的好处是它减少了额外的开销,同时提高了 Python 的性能。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/O7uknZXoTvyzenAuL7in0MCw0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券