Oleg Šelajev | Devoxx

Devoxx Belgium 2018
from Monday 12 November to Friday 16 November 2018.

Oleg Šelajev is a developer advocate for the GraalVM project at Oracle Labs, which aims to make programs run faster and developers more productive. He helps to organize VirtualJUG, the online Java User Group, and a GDG chapter in Tartu, Estonia. Became a Java Champion in 2017. Loves pizza and playing chess. Favorite languages: Java, JavaScript, and Python. And Clojure. And Kotlin, and TypeScript. In general, Oleg loves all languages, compilers, and virtual machines.

See also https://plus.google.com/116361778010526695373

GraalVM: Run Programs Faster Anywhere


GraalVM project enhances the Java ecosystem with an integrated, polyglot, high-performance execution environment for dynamic, static, and native languages. GraalVM supports Java, Scala, Kotlin, Groovy, and other JVM-based languages. At the same time, it can run the dynamic scripting languages JavaScript including node.js, Ruby, R, and Python.

In this session you'll see demos and learn what you can do with GraalVM, from using it as the JVM JIT compiler, enhancing the JIT, running native and polyglot programs, compiling them ahead of time for faster startup and lower runtime overhead, debugging your polyglot code using exact same tools for any language, to profiling performance and memory of your application and embedding GraalVM in a native application for portability.

GraalVM offers you the opportunity to write the code in the language you want, which suits the problem the best, and run the resulting program really fast wherever you like: JVM, native code, even inside a database.

Deep dive into using GraalVM for Java and JavaScript developers

Deep Dive

GraalVM is a high-performance embeddable polyglot virtual machine capable of running different languages well: Java, Scala, Kotlin, JavaScript, Ruby, Python and everything with an LLVM backend like C and C++.

This session explores GraalVM and its uses for typical Java applications: getting the best peak performance on various workloads, creating native images for instant startup, mixing JavaScript and Python, or Ruby, or R into your code. You'll learn how to understand what the JIT compiler is doing with your code, how to collect the necessary debug information for further profiling, what are the limitations of GraalVM's native images and how to overcome most frequent of them.

We'll look at the polyglot applications and how they impact the code you're writing, learn the polyglot API you need to use to effectively mix different programming languages in one program. We'll explore using the common tooling like VisualVM and Chrome debugger for languages supported by GraalVM, even when you're running JavaScript as stored procedures in the database.

The session is based on a series of demos you can follow along and try yourself later, and the insight you can directly use.

Make sure to download the Android or iOS mobile schedule.