Hello! On Tuesday, May 15th, we are making a JUG.ru meeting dedicated to GraalVM. The meeting will be held in the St. Petersburg office of T-Systems.
As you noticed, I often write on Habr about Java. It's time for us to expand the format of communication a little and meet in person. GraalVM was chosen as the topic of the meeting - as something very promising and quite popular on Habré.
Participation is free, registration is required. You can register
here . Videos, most likely, will be, online broadcast - will not.
')
GraalVM is a universal virtual machine for running applications written in JVM languages ​​(such as Java, Scala, Clojure, Kotlin), JavaScript, Python, Ruby, R, and LLVM based languages ​​such as C and C ++.
Usually research projects look like something far and poorly applicable. With GraalVM, it is different: very suddenly he came on the scene as a mature competitor and began to be used in such large companies as Twitter.
GraalVM repository consists of several components, about which we will talk:
- Graal Compiler - optimizing compiler that supports static and dynamic compilation, working both separately and together with HotSpot VM. We will look at how to run existing applications under it, and what benefits (in numbers) this can bring.
- SubstrateVM is an AOT compilation framework that turns Java applications into executable files and shared objects. In fact, the most radical and cheating (closed world) method of optimization. Again, we will see what we can run, what we cannot, and how this affects specific numbers.
- Truffle is a framework for implementing programming languages. The topic of language development itself is very general and draws on a separate report, so here we will soon see which languages ​​we have already given out of the box as part of the GraalVM product, and how it looks in practice.
All together it gives us a certain product GraalVM, which, like the One Ring, brings together many programming languages ​​and allows you to optimize their implementation in the most radical way. Previously, “my darling” was delivered only as a binary assembly
on the Oracle Labs website , but just a couple of weeks ago, such things as GraalJS
fell on GitHub under the Universal Permissive License, which makes them a reasonable choice for use in real projects.
This report is an introductory course on what it is and how you can quickly get to know it.