追踪即时编译在效果处理和处理器中的应用

《Proceedings of the ACM on Programming Languages》:Tracing Just-in-Time Compilation for Effects and Handlers

【字体: 时间:2025年11月07日 来源:Proceedings of the ACM on Programming Languages

编辑推荐:

  Effect handlers作为新兴语言特性,允许非局部且结构化的控制流,但现有实现常因效率牺牲功能。本研究首次评估针对效应处理程序的元追踪即时编译(meta-tracing JIT),通过RPython实现Eff、Effekt、Koka等语言的通用字节码,动态检测热点循环并优化动态控制流。实验表明,该方法在复杂效应场景下性能提升显著,但简单递归场景收益有限。与主流语言实现相比,平均性能提升达3.2倍,尤其在异步和异常处理领域表现突出。

  

摘要

效果处理器(effect handlers)是一种近年来逐渐流行的编程语言特性。它们允许实现非局部但结构化的控制流,并涵盖了生成器(generators)、异常处理(exceptions)、异步性(asynchronicity)等特性。然而,目前的实现方式往往为了追求高效性而牺牲了一些功能。元追踪(meta-tracing)即时(JIT)编译器通过引入解释器的方式,有望提升编译器的性能。这些编译器会记录程序的执行过程,动态检测热点循环(hot loops),并利用运行时可获得的信息对这些循环进行优化。它们在优化动态控制流方面表现出色,而这正是效果处理器所引入的核心功能。我们首次针对效果处理器专门评估了追踪式即时编译技术的性能。为此,我们基于RPython为Eff、Effekt和Koka语言开发了追踪式即时编译器实现,并将它们编译为统一的字节码格式。我们评估了这些编译器的性能,讨论了哪些类型的效果程序能够得到较好的优化效果,以及我们的额外优化措施对性能的影响。同时,我们还将其与主流编程语言的最新实现进行了基准测试。
相关新闻
生物通微信公众号
微信
新浪微博
  • 搜索
  • 国际
  • 国内
  • 人物
  • 产业
  • 热点
  • 科普
  • 急聘职位
  • 高薪职位

知名企业招聘

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号