Awesome Graal
A curated list of awesome resources for Graal, Truffle and related topics.
Related JEPs
- JEP 317: Experimental Java-Based JIT Compiler - OpenJDK
- JEP 243: Java-Level JVM Compiler Interface - OpenJDK
- JEP 295: Ahead-of-Time Compilation
- ...others
Community
- graal-dev mailing list
- graal-changes mailing list
- Gitter channel: graal-core
- Gitter channel: truffleruby
- Twitter list: Wholly Graal of Compilers
- GraalVM.org community
Github links
- https://github.com/beehive-lab/Maxine-VM -- [forks of the project]
- graalvm.github.io by graalvm
- GraalVM - GitHub organisation
- GraalVM examples
- mx - Command-line tool used for the development of Graal projects
- Fork of jdk8u/hotspot with support for JVMCI
Mercurial links
- OpenJDK Graal forest
- Compiler
- JavaScript parser
- JVM Compiler Interface for JDK8
- JVM Compiler Interface for JDK9
- Deprecated
Download links
- Graal and Truffle Builds (JDK8/OpenJDK8)
- jruby graal-vm-0.19 on Homebrew - Libraries.io
- Oracle Labs GraalVM
- GraalVM.org Downloads
Projects, Wikipedia pages, discussion forums & blog posts
Project(s)
Wikipedia page(s), OpenJDK Wiki, collection of useful links
- Graal (compiler) - Wikipedia
- OpenJDK Graal - Wiki
- Graal/GraalVM/Truffle official docs
- Graal/GraalVM/Truffle official Reference Manual
- OpenJDK Graal - Publications and Presentations
- GraalVM: Official list of publications
- List of useful resources from Stefan Marr
Discussion forum(s)
- Graalvm (Programming) Questions & Answers - TechQA
- Oracle's Graal-JVM / Truffle for Scala? : scala - Reddit
- Graal and Clojure discussions
- JIT compiling a subset of Python to x86-64
Blog posts
-
General
-
Benchmarking
-
GraalVM
- Getting started with GraalVM - Koichi Sakata | A blog about Java
- GraalVM and Truffle/JS: Programming Languages and Runtimes ...
- GraalVM at a glance - Martin Toshev's blog
- Setup Graal VM on Mac OS X 10.11 El Capitan Howto Tutorial installation prerequisites
- Top 10 Things To Do With GraalVM
- Graal VM Options for Graal CE 1.0
- Graal VM Options for Graal EE 1.0
-
Graal, Truffle
- Graal & Truffle – Mike's blog
- Graal and Truffle could accelerate programming language design ...
- Setup Graal VM on Mac OS X 10.11 El Capitan Howto Tutorial ...
- The Graal Compiler - SSW - JKU
- Writing a Language in Truffle - Parts 1 thru 4
- Truffle served in a Holy Graal: Graal and Truffle for polyglot language interpretation on the JVM [reblogged on Java Advent Calendar]
-
TruffleRuby
Papers, presentations/slides & videos
-
General
- OpenCL JIT Compilation for Dynamic Programming Languages by four authors: Paper
- Adaptive Concurrency Control for Transactional Memory by Andy Nisbet: Slides
- Bringing Performance and Scalability to Dynamic Languages by Mario Wolczko: Slides
- (JVMLS 2017): Ahead Of Time (AOT) Internals by Vladimir Kozlov and Igor Veresov: Video
- (JCrete): Fastest VM on the planet: Video
- Make a graal-core pull request on GitHub: Video
- GraalVM: Official videos list
-
Maxine
- Maxine A JVM in Java - JUG Saxon by Michael Haupt: Slides
-
AOT
- Compile ahead of time. It's fine? by Dmitry Chuyko: Slides
-
Graal, GraalVM, Truffle
- Graal: A research platform for dynamic compilation and managed... by Christian Wimmer: Slides
- Graal and Truffle - Modularity by Thomas Wuerthinger: Slides
- Graal VM: Multi-Language Execution Platform by Thomas Wuerthinger Slides
- Faster Ruby and JavaScript with GraalVM by Chris Seaton: Slides
- GraalVM - Compiler and JVM Research at JKU - Complang by Josef Eisl: Slides
- JVM++: The Graal VM by Martin Toshev: Slides | Video
- New tricks of the GraalVM - Distributed Systems Group by Tõnis Pool: Slides
- Twitter's quest for a wholly Graal runtime by Chris Thalinger: Slides | Video
- (Splash 2016): Truffle and Graal: Fast Programming Languages With Modest Effort by Chris Seaton: Video
- (Oracle code): Turning the JVM into a Polyglot VM with Graal by Chris Seaton: Video
- (VJUG): Turning the JVM into a Polyglot VM with Graal by Chris Seaton: Video
- (Voxxed days): One VM for all by Thomas Wuerthinger: Video
- GraalVM – high performance multi language JVM by Lukas Stadler: Video
- Graal tutorial at PLDI 2017 conference by Christian Wimmer: Video
- Graal: How to use the new JVM JIT compiler in real life: Video
- Graal, GraalVM, Truffle: What do they mean for polyglot developers? by Mani Sarkar: Slides | Video: (480p | 720p)
-
Java, Scala, Kotlin, & JVM languages
- (JVMLS 2017): Polyglot Native: Java, Scala, Kotlin, & JVM languages by Christian Wimmer: Video
-
Javascript, Node.js
-
Sulong
-
FastR
-
Video channel/playlists
- Graal, GraalVM, Truffle, and family of related tech: YouTube playlist
Hands-on pages
-
Graal
-
GraalVM
-
Truffle
-
FastR
Special topics (Java, Graal, GPUs, Accelerators, etc...)
-
GPUs
-
General
-
Java
-
Graal
-
FastR
-
-
Graphics Accelerators
-
APU
Contributing
Contributions are very welcome, please share back with the wider community (and get credited for it)!
Please have a look at the CONTRIBUTING guidelines, also have a read about our licensing policy.