【24h】

Tracing the Meta-Level: PyPy's Tracing JIT Compiler

机译:跟踪元级别:PyPy的跟踪JIT编译器

获取原文
获取原文并翻译 | 示例

摘要

We attempt to apply the technique of Tracing JIT Compilers in the context of the PyPy project, i.e., to programs that are interpreters for some dynamic languages, including Python. Tracing JIT compilers can greatly speed up programs that spend most of their time in loops in which they take similar code paths. However, applying an unmodified tracing JIT to a program that is itself a bytecode interpreter results in very limited or no speedup. In this paper we show how to guide tracing JIT compilers to greatly improve the speed of bytecode interpreters. One crucial point is to unroll the bytecode dispatch loop, based on two kinds of hints provided by the implementer of the bytecode interpreter. We evaluate our technique by applying it to two PyPy interpreters: one is a small example, and the other one is the full Python interpreter.
机译:我们尝试在PyPy项目的上下文中应用跟踪JIT编译器的技术,即应用于某些动态语言(包括Python)的解释器的程序。跟踪JIT编译器可以大大加快将大部分时间花费在采用相似代码路径的循环中的程序。但是,将未经修改的跟踪JIT应用于本身就是字节码解释器的程序会导致非常有限的加速或没有加速。在本文中,我们展示了如何引导JIT编译器跟踪以大大提高字节码解释器的速度。关键一点是根据字节码解释器的实现者提供的两种提示来展开字节码分配循环。我们通过将技术应用于两个PyPy解释器来评估我们的技术:一个是一个小例子,另一个是完整的Python解释器。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号