Speaker Details

Oleg Šelajev

Oracle

Hello there! Oleg is a friendly neighborhood developer advocate for @GraalVM at OracleLabs, Oracle. Loves all languages. Helps @virtualJUG, @GDGTartu. In 2017 became a Java Champion.

Abstractions Without Regret with GraalVM

Conference
Java Language

Performance-aware code often sacrifices elegance and readability for being fast. Previously, to get the best performance developers often had to manually tweak the code to follow certain patterns known to run faster. Nowadays we have better compilers which often don't require such efforts and allow one to write readable code without sacrificing performance. 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

GraalVM
Performance
JVM

GraalVM native images explained

Conference
Java Language

GraalVM is a high-performance polyglot runtime for dynamic, static, and native languages. One of the abilities of GraalVM is to compile Java programs ahead of time into native images that offer performance comparable to running on the JVM but have instant startup times and much lower runtime overhead. Generating native images is proven to work on real-world applications and improve their startup miraculously. In this session, you will learn how native images work and what is required to generate them and will look at several examples of compiling programs ahead of time and packaging them into minimal containers. You’ll also see how to configure native image generation, use the autoconfiguration agent for reflection, proxies and alike, and make libraries support native images out of the box.

GraalVM
Performance
Containers

Everything you need to know about GraalVM

Deep Dive
Java Language

GraalVM is a high-performance runtime 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. GraalVM answers different performance questions and offers state-of-the-art solutions for peak-performance, startup or memory usage requirements. It's a versatile and large project, which we'll try to introduce thoroughly during this session. We'll look at running Java applications with GraalVM, creating GraalVM native images, running dynamic languages with GraalVM and how to make them work with your existing Java code base. GraalVM has an excellent JIT compiler and we'll look at several benchmarks uncovering which optimisations are the most essential and what code patterns get the largest performance boost. We'll explain the trade-offs between running GraalVM JIT vs. GraalVM AOT, and look at the examples of GraalVM native images. You'll learn how GraalVM implements support for the languages and what are the best practices for using them together. This session gives you a deep overview of GraalVM capabilities and allows you to effectively understand when GraalVM can help you and how to start using it.

GraalVM
Performance
JVM

GraalVM native images explained

Tools-in-Action
Java Language

GraalVM is a high-performance polyglot runtime for dynamic, static, and native languages. One of the abilities of GraalVM is to compile Java programs ahead of time into native images that offer performance comparable to running on the JVM but have instant startup times and much lower runtime overhead. Generating native images is proven to work on real-world applications and improve their startup miraculously. In this session, you will learn how native images work and what is required to generate them and will look at several examples of compiling programs ahead of time and packaging them into minimal containers. You’ll also see how to configure native image generation, use the autoconfiguration agent for reflection, proxies and alike, and make libraries support native images out of the box.

GraalVM
Performance
Containers

Talks by tracksTalks by session typesList of Speakers