学术出版物

此页面描述了与 Graal 编译器和 Truffle 相关的各种演示文稿和出版物,这些出版物由 Oracle Labs 及其学术合作者发布。

Truffle

GraalVM 提供了 Truffle 框架,用于在 Java 中实现托管语言,提高语言性能,同时允许与其他 Truffle 语言集成并提供工具支持 - 所有这些都可以通过仅在 Java 中实现抽象语法树 (AST) 解释器来实现。Truffle 在解释期间应用 AST 特化,这使得部分求值能够创建高度优化的本机代码,而无需专门为语言编写编译器。Java VM 提供了高性能垃圾收集、线程和并行支持。

Oracle Labs 和外部研究小组已在 Truffle 之上实现了各种编程语言,包括 JavaScript、Python、Ruby、R、Smalltalk 等。其中一些已经超过了之前存在的该语言的最佳实现。

我们建议观看 Christian Humer 关于 Truffle 的动态元编译 的演示文稿,并查看此页面上列出的您感兴趣的关于 Truffle 的学术出版物。您还可以在 网站上找到扩展的 Truffle 文档

Graal 编译器

Graal 编译器是用 Java 编写的优化动态编译器。由于它高度可配置且可扩展,因此在包括 Java 和 JavaScript 在内的各种托管语言的许多基准测试中提供了出色的峰值性能。这将编译器研究提升到了一个新的水平:研究人员可以立即在多种语言上评估新的编译器优化。如果您是语言实现者,并且对像 Java HotSpot VM 这样的现代 VM 如何优化您的代码感到好奇,那么您可以在 Doug Simon 的演示文稿 了解 GraalVM 编译器 中找到答案。

演示文稿涵盖以下主题

  • 如何从源代码构建 GraalVM 发行版
  • 编译器如何使用 Java 语言特性来简化开发:注释、单元测试和针对单个编译器优化的基准测试
  • 应该查看 GraalVM 项目的哪些主要类
  • 编译包装器等等

在下面还可以找到您感兴趣的编译器的学术出版物,或者查看 网站上的 Graal 编译器文档

学术出版物

2024

2023

2022

2021

2020

2019

2018

2017

2016

2015

2014

2013

  • Thomas Würthinger、Christian Wimmer、Andreas Wöß、Lukas Stadler、Gilles Duboscq、Christian Humer、Gregor Richards、Doug Simon、Mario Wolczko 一个 VM 统治所有Onward! 论文集. 描述了 Truffle 方法的愿景,以及包括解释器和动态编译器的完整系统堆栈。

  • Matthias Grimmer、Manuel Rigger、Lukas Stadler、Roland Schatz、Hanspeter Moessenboeck 面向 Java 的高效原生函数接口Java 平台编程原理与实践国际会议论文集:虚拟机、语言和工具。(PPPJ).

  • Matthias Grimmer 面向 Truffle/C VM 的运行时环境 硕士论文,奥地利林茨约翰·开普勒大学,2013 年 11 月。

2012

  • Thomas Würthinger,Andreas Wöß,Lukas Stadler,Gilles Duboscq,Doug Simon,Christian Wimmer 自优化 AST 解释器 发表在动态语言研讨会(DLS)论文集中。介绍了自优化和自特化的解释器设计,以及在 JavaScript 中的应用。

GraalVM 编译器论文

2023

2022

2021

2020

2019

2018

2016

2015

2014

2013

  • 马蒂亚斯·格里默,曼努埃尔·里格尔,卢卡斯·施塔德勒,罗兰·沙茨,汉斯佩特·莫森博克 适用于Java的高效本机函数接口2013年Java平台编程原理与实践国际会议(PPPJ '13)论文集

  • 托马斯·维尔廷格,克里斯蒂安·维默,安德烈亚斯·沃斯,卢卡斯·施塔德勒,吉尔斯·杜博斯克,克里斯蒂安·胡默,格雷戈里·理查兹,道格·西蒙,马里奥·沃尔茨科 一个VM统治所有2013年ACM编程与软件新理念、新范式和反思国际研讨会(Onward! 2013)论文集

  • 吉尔斯·杜博斯克,托马斯·维尔廷格,卢卡斯·施塔德勒,克里斯蒂安·维默,道格·西蒙,汉斯佩特·莫森博克 用于动态编译器中推测优化的中间表示第七届ACM虚拟机和中间语言研讨会(VMIL '13)论文集

  • 卢卡斯·施塔德勒,吉尔斯·杜博斯克,汉斯佩特·莫森博克,托马斯·维尔廷格,道格·西蒙 动态编译器优化对Scala性能影响的实验研究第四届Scala研讨会(SCALA '13)论文集

  • 吉尔斯·杜博斯克,卢卡斯·施塔德勒,托马斯·维尔廷格,道格·西蒙,克里斯蒂安·维默,汉斯佩特·莫森博克 Graal IR:可扩展的声明式中间表示2013年亚太地区编程语言与编译器研讨会论文集

  • 克里斯蒂安·豪布尔,克里斯蒂安·维默,汉斯佩特·莫森博克 适用于Java的上下文敏感跟踪内联 第27届ACM应用计算研讨会(SAC '12)编程语言轨道特刊,计算机语言、系统与结构

  • 克里斯蒂安·维默,斯特凡·布伦塔勒 Truffle上的ZipPy:一个快速简单的Python实现2013年系统、编程和应用:面向人类的软件会议(SPLASH '13)伴随出版物的论文集

  • 克里斯蒂安·豪布尔,克里斯蒂安·维默,汉斯佩特·莫森博克 从基于跟踪的即时编译器记录的性能分析数据中推导出代码覆盖率信息2013年Java平台编程原理与实践国际会议(PPPJ '13)论文集

2012

  • 卢卡斯·施塔德勒,吉尔斯·杜博斯克,汉斯佩特·莫森博克,托马斯·维尔廷格 动态编译器的编译队列和图形缓存2012年虚拟机和中间语言研讨会(VMIL)论文集

  • 托马斯·维尔廷格,安德烈亚斯·沃斯,卢卡斯·施塔德勒,吉尔斯·杜博斯克,道格·西蒙,克里斯蒂安·维默 自优化AST解释器第八届动态语言研讨会(DLS '12)论文集

  • 克里斯蒂安·维默,托马斯·维尔廷格 Truffle:一个自优化运行时系统第三届年度系统、编程和应用会议:面向人类的软件(SPLASH '12)论文集

  • 克里斯蒂安·豪布尔,克里斯蒂安·维默,汉斯佩特·莫森博克 适用于Java的跟踪内联启发式算法评估第27届ACM应用计算年度研讨会(SAC '12)论文集

联系我们