Oleg Šelajev | Devoxx

Devoxx Ukraine 2018
from Friday 23 November to Saturday 24 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 organizes VirtualJUG, the online Java User Group, and a GDG chapter in Tartu, Estonia. Became a Java Champion in 2017. Loves pizza and playing chess & performance puzzles. 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://www.graalvm.org

GraalVM & Java Optimisations: Abstractions without regret


Performance-aware code often sacrifices elegance and readability. Runtimes and compilers, however, are getting better and sometimes can efficiently optimize the parts which previously developers had to manually make fast. In this session, we discuss how to write Java code without worrying about performance regressions very much. We'll look at the typical code patterns used for writing high-performance Java, refactor them into an easier maintainable, better-looking code without losing performance. You'll learn more about the GraalVM's compiler and how it operates, which optimizations help the most and how to make use of GraalVM in your projects.

Java Developer's Introduction to GraalVM


GraalVM is an integrated, polyglot, high-performance execution environment for dynamic, static, and native languages. It supports Java, Scala, Kotlin, Groovy, other JVM languages, and can run the dynamic scripting languages JavaScript including node.js, Ruby, Python, and so on.

In this practical session we'll learn how to begin using Graal on a typical Java and JavaScript project. What's the best way to obtain GraalVM and plug it in? What to look for regarding the performance improvements? How to organize project files for polyglot interoperability? Should you compile your code ahead-of-time or run it on the stock JVM? How to use the tooling which GraalVM universally supports: profiler, debugger, and heap analyser.

As a result, you'll be ready to try GraalVM on your project, know about which parts of this large project are relevant for your Java code, how to begin your experiments with it, and what to expect from them.

Make sure to download the Android or iOS mobile schedule.