Science, Art, Magic: Using and Developing The Graal Compiler
The Fourth Graal Workshop was held virtually at CGO on April 2, 2022.
Talk about the workshop on Twitter using #graalcgo2022 and follow us @graalcgo.
Topics for discussion included exploring speedup opportunities with GraalVM Native Image, novel uses of Truffle, and new features in the GraalVM compiler.
All times EDT (UTC-4).
Start | End | Title | Resources | Speaker(s) |
---|---|---|---|---|
9:00 AM | 9:05 AM | Welcome | Niklas Vangerow | |
9:05 AM | 10:00 AM | Keynote: Static Java: The GraalVM Native Image Programming Model | Slides, Recording | Christian Wimmer |
10:00 AM | 10:30 AM | Faster Native Image development build times with Quick Build mode | Slides, Recording | Carlo Refice |
10:30 AM | 11:00 AM | Improving GraalVM Reflection File Generation | Slides, Recording | Nicolas Toper |
11:00 AM | 11:30 AM | Break | ||
11:30 AM | 12:00 PM | Truffle Interpreter Performance without the Holy Graal | Slides, Recording | Stefan Marr |
12:00 PM | 12:30 PM | TruffleString: highly optimized cross-language string implementation. | Slides, Recording | Josef Haider |
12:30 PM | 1:00 PM | State of AArch64 on GraalVM | Slides, Recording | Thomas Shull |
1:00 PM | 1:30 PM | Call-Target Agnostic Keyword Arguments | Slides, Recording | Maple Ong and Chris Seaton |
1:30 PM | 2:00 PM | Tuning autovectorization in Graal | Slides, Recording | Yunjie Pan |
2:00 PM | 2:30 PM | Break | ||
2:30 PM | 3:45 PM | Lightning Talks | ||
3:45 PM | 4:00 PM | Closing remarks & survey | Uma Srinivasan |
Speaker | Christian Wimmer (Oracle Labs) |
Title | Static Java: The GraalVM Native Image Programming Model |
Abstract | In this talk we will present our vision for “Static Java”: the programming model enabled by GraalVM Native Image. Applications are initialized at image build time, to allow fast startup time and low memory footprint at run time. Counterintuitively, the ahead-of-time compilation of Java bytecode to machine code is not part of the programming model. But since it is an important implementation detail, we will also talk about the benefits and problems of compiling ahead-of-time compilation. We will show where static analysis helps, what the limitations of static analysis are, which compiler optimizations work well both for JIT and AOT compilation, and where additional compiler phases for AOT compilation are necessary. |
Bio | Christian Wimmer is the architect of GraalVM Native Image. He was one of the first engineers of the GraalVM project, and helped growing it from a research project of Oracle Labs to a supported Oracle product. He believes that all languages should be equally fast, and that we therefore need to stop writing individual VMs and instead have one polyglot VM. His research interests span from compilers, virtual machines, and secure systems to component-based software architectures. More info. |
Name | ||
---|---|---|
Niklas Vangerow | nvangerow@twitter.com | @nvgrw |
David Degazio | davidd@twitter.com | @elucentdev |
Uma Srinivasan | usrinivasan@twitter.com | @umatweep |
Christian Wimmer (Oracle Labs), David Leopoldseder (Oracle Labs/JKU Linz), Niklas Vangerow (Twitter), Kingsum Chow (Alibaba), Kevin Menard (Shopify), Monica Beckwith (Microsoft), Uma Srinivasan (Twitter).