Skip to content
0:00 / 0:00

#quarkus#graalvm#hibernate

Quarkus and GraalVM: booting Hibernate at supersonic speed, subatomic size by Sanne Grinovero

Devoxx

172K subscribers • 52 videos on Hallway • Conference channel

YouTube
  • Recommended by 1 person: 1 on Stack Overflow and its sister sites.
  • Presented by Sanne Grinovero, Hibernate R&D Lead

Intermediate. Assumes working knowledge.

12K views7 years ago1 recommendation

Programming languagesSystems programmingJava and the JVMCompilers and interpretersPerformance and optimization

Sanne Grinovero explains how Quarkus enables complex libraries like Hibernate ORM to run as GraalVM native images with fast boot times.

GraalVM is rocking the Java world! With native images we can get boot times measured in milliseconds and very low memory consumption. Improving efficiency of orders of magnitude compared to typical JVM based microservices allows to consider Java in areas it was previously unfit for. But there’s no free lunch: the radical new architectural choices of these native images imply both strong benefits and significant limitations; limitations which will break your existing dependencies as they were designed in a different era. All libraries must be adapted, or you will hit very surprising, cryptic error messages. Come listen to how we created Quarkus, how it works and how it’s able to get complex libraries such as Hibernate ORM compatible with GraalVM native images, and how the architecture of Quarkus also benefits efficiency on normal HotSpot. But it’s not only about memory and bootstrap times - Quarkus takes this opportunity to rethink what a modern platform could give you, such as support for live-reload baked in. I will show some hands-on demos, but unfortunately these take no more than 5ms :) We’ll have time for lots of demos!

Why it's here

1 person recommends this

What people say. Recommended by a Hibernate core developer to explain how Hibernate ORM is made compatible with GraalVM native images.

Sanneon Stack Overflow • Recommends

On “Is Hibernate ORM compatible with GraalVM native image compilation?”

( Disclaimer: I'm one of those who made Hibernate ORM work on GraalVM native images, by creating the Quarkus Extensions. I'm also leading the Hibernate R&D team. ) Thank you for this opportunity in writing up a bit of history :) Initially we were not using Quarkus as it didn't exist yet. My initial prototypes were just patching Hibernate ORM and piling up many, many compiler switches to be passed to the native-image tool, hardcoded in bash scripts, until I would get my demo application working. The problem with that approach is that many such flags actually depend on a combination of internal knowledge of Hibernate ORM, AND specifics of your domain model, your configuration details,…