此前,CPython 核心开发者 Brandt Bucher 向 Python 3.13 分支提交了一个添加 JIT 编译器的 PR。根据 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 的性能。
网络通讯
42.70MB
媒体音乐
34.24MB
时尚购物
34.09MB
金融理财
46.43MB
小说阅读
69.30MB
成长教育
111.39MB
住宿驿站
27.77MB
41.54MB
摄影美学
41.66MB
棋牌扑克
211.83MB
角色扮演
268.20MB
休闲益智
45.91MB
145.30MB
73.84MB
141.71MB
传奇三国
201.42MB
85.64MB
战争塔防
68.28MB
渝ICP备20008086号-39 违法和不良信息举报/未成年人举报:linglingyihcn@163.com
CopyRight©2003-2018 违法和不良信息举报(12377) All Right Reserved
《Python》3.13新增copy-and-patch JIT编译器,可提高Python的性能
此前,CPython 核心开发者 Brandt Bucher 向 Python 3.13 分支提交了一个添加 JIT 编译器的 PR。根据 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 的性能。
网络通讯
42.70MB
媒体音乐
34.24MB
时尚购物
34.09MB
金融理财
46.43MB
小说阅读
69.30MB
成长教育
111.39MB
住宿驿站
27.77MB
成长教育
41.54MB
摄影美学
41.66MB
棋牌扑克
211.83MB
角色扮演
268.20MB
休闲益智
45.91MB
棋牌扑克
145.30MB
休闲益智
73.84MB
角色扮演
141.71MB
传奇三国
201.42MB
棋牌扑克
85.64MB
战争塔防
68.28MB