學術出版品

本頁描述了 Oracle Labs 及其學術合作夥伴發表的關於 Graal 編譯器和 Truffle 的各種簡報和出版品。

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 等現代虛擬機如何最佳化您的程式碼感到好奇的語言實作者,您可以在 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 一個虛擬機統治一切,發表於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

2012

  • Lukas Stadler、Gilles Duboscq、Hanspeter Moessenboeck、Thomas Würthinger 動態編譯器的編譯佇列和圖形快取,發表於 2012 年虛擬機器和中繼語言研討會 (VMIL) 會議記錄

  • Thomas Würthinger、Andreas Wöß、Lukas Stadler、Gilles Duboscq、Doug Simon、Christian Wimmer 自我最佳化 AST 直譯器,發表於 第 8 屆動態語言研討會 (DLS ‘12) 會議記錄

  • Christian Wimmer、Thomas Würthinger Truffle:自我最佳化執行期系統,發表於 第 3 屆年度系統、程式設計和應用:為人類的軟體會議 (SPLASH ‘12) 會議記錄

  • Christian Häubl、Christian Wimmer、Hanspeter Moessenboeck Java 的追蹤內聯啟發式評估,發表於 第 27 屆年度 ACM 應用計算研討會 (SAC ‘12) 會議記錄

與我們聯絡