Upgrade to Pro — share decks privately, control downloads, hide ads and more …

First Date with GraalVM (JUG IL)

First Date with GraalVM (JUG IL)

GraalVM - the newest JVM extension generated a lot of buzz in the industry, already earning the trust of such industry giants as Twitter. The promises GraalVM gives definitely sound good: a better performance, ability to run polyglot languages and more. In this talk we’ll learn what exactly is GraalVM, what hides behind the scene, how come GraalVM is technically able to fulfil the promises it gave, and should we jump on the GraalVM hype train too.

E0f03959a2b71242aa003a38b3453c7f?s=128

Pijus Navickas

December 12, 2018
Tweet

Transcript

  1. Software Engineer at Wix pijusn@wix.com twitter@pijusnav linkedin/pijusnavickas github.com/pijusn First Date

    with GraalVM
  2. Wix Engineering Locations Ukraine Israel Lithuania Vilnius Kiev Dnipro Tel-Aviv

    Be’er Sheva
  3. Once upon a time in the world of Oracle...

  4. JVM </> 0110 Java Scala Ceylon ... Bytecode Native

  5. JVM byte[] byte[] byte[]

  6. JVM byte[] byte[] byte[] JVM

  7. JVM byte[] byte[] byte[] VM C2 Written in C

  8. None
  9. None
  10. JVM byte[] byte[] byte[] VM ??? Java-Level JVM Compiler Interface

  11. Graal is just a compiler rewrite in Java KISS Keep

    It Stupid Simple
  12. YAY, new compiler!

  13. Performance

  14. https://youtu.be/ZbccuoaLChk?t=33m19s

  15. https://youtu.be/ZbccuoaLChk?t=33m19s

  16. Can I use it?

  17. YES, YOU CAN! JDK 9 ships with Graal: • Used

    by AOT by default. • Can be enabled for JIT. -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler Also JDK 10: -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler -Djvmci.Compiler=graal
  18. Or use one of GraalVM bundles

  19. None
  20. Graal JIT compiler GraalVM JVM + Graal, Truffle and a

    couple language implementations. Truffle Soon, please wait.
  21. JVM byte[] byte[] byte[] VM Graal

  22. JVM byte[] byte[] byte[]

  23. JVM byte[] byte[] byte[] byte[]

  24. Graal is a language-agnostic compiler KISS Keep It Stupid Simple

  25. JVM byte[] byte[] byte[] byte[] Truffle

  26. JVM

  27. It still sucks, right?

  28. Wanna see something cool?

  29. https://youtu.be/wBegU4d4GRc?t=23m40s

  30. It's alright, I guess.

  31. https://youtu.be/wBegU4d4GRc?t=36m11s

  32. https://youtu.be/wBegU4d4GRc?t=36m52s

  33. Wall of Text Supporting Legacy Projects That one library Language

    development Custom optimizations Cloud PaaS
  34. Getting it on your machine

  35. /oracle/graal

  36. /oracle/graal

  37. None
  38. None
  39. Thank You pijusn@wix.com twitter@pijusnav linkedin/pijusnavickas github.com/pijusn ( https://bit.ly/2B7K6w6 )