Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

General Capabilities of GraalVM by Oleg Selajev @shelajev

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Wird geladen in …3
×

Hier ansehen

1 von 35 Anzeige

General Capabilities of GraalVM by Oleg Selajev @shelajev

Herunterladen, um offline zu lesen

Abstract: "General Capabilities of GraalVM"
GraalVM project enhances the Java ecosystem with an integrated, polyglot, high-performance execution environment 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.

In this session you'll see demos and learn what you can do with GraalVM, from using it as the JVM JIT compiler, enhancing the JIT, running native and polyglot programs, compiling them ahead of time for faster startup and lower runtime overhead, debugging your polyglot code using exact same tools for any language, to profiling performance and memory of your application and embedding GraalVM in a native application for portability.

GraalVM offers you the opportunity to write the code in the language you want, which suits the problem the best, and run the resulting program really fast wherever you like: JVM, native code, even inside a database.

Abstract: "General Capabilities of GraalVM"
GraalVM project enhances the Java ecosystem with an integrated, polyglot, high-performance execution environment 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.

In this session you'll see demos and learn what you can do with GraalVM, from using it as the JVM JIT compiler, enhancing the JIT, running native and polyglot programs, compiling them ahead of time for faster startup and lower runtime overhead, debugging your polyglot code using exact same tools for any language, to profiling performance and memory of your application and embedding GraalVM in a native application for portability.

GraalVM offers you the opportunity to write the code in the language you want, which suits the problem the best, and run the resulting program really fast wherever you like: JVM, native code, even inside a database.

Anzeige
Anzeige

Weitere Verwandte Inhalte

Diashows für Sie (20)

Ähnlich wie General Capabilities of GraalVM by Oleg Selajev @shelajev (20)

Anzeige

Weitere von Oracle Developers (20)

Aktuellste (20)

Anzeige

General Capabilities of GraalVM by Oleg Selajev @shelajev

  1. 1. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Oleg Šelajev GraalVM team, Oracle Labs @shelajev
  2. 2. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement The following is intended to provide some insight into a line of research in Oracle Labs. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described in connection with any Oracle product or service remains at the sole discretion of Oracle. Any views expressed in this presentation are my own and do not necessarily reflect the views of Oracle. 2
  3. 3. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. !3
  4. 4. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. !4
  5. 5. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. !5 Fast Java, Scala, Kotlin, Groovy, Clojure... Instant startup, low footprint Polyglot & embeddable VM Interoperability between languages: node.js, Python, Ruby, R Why GraalVM?
  6. 6. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. !6
  7. 7. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. !7 Java HotSpot VM GraalVM Compiler
  8. 8. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. !8 Java HotSpot VM GraalVM Compiler Truffle Framework LLVM
  9. 9. Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
  10. 10. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. !10
  11. 11. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 11 • More performance • Smaller footprint • Managed runtime for better isolation when running native code • Oracle Enterprise Support 7x24x365 Launching earlier this month:
 GraalVM Enterprise 19.0
  12. 12. Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
  13. 13. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. !13 Renaissance suite https://renaissance.dev
  14. 14. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. !14 Streams API example benchmarks https://medium.com/graalvm/stream-api-performance-with-graalvm-be6cfe7fbb52
  15. 15. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. !15 sbt > clean; compile; https://medium.com/graalvm/compiling-scala-faster-with-graalvm-86c5c0857fa3
  16. 16. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. !16
  17. 17. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. !17
  18. 18. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | !18 Matrix multiplication https://www.youtube.com/watch?v=RFF2SfPMfpk
  19. 19. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | !19 valhallaBench.Multiply.multiply (lower is better) JDK 11 (size) Mode Cnt Score Error Units valhallaBench.Multiply.multiply 100 avgt 3 7944.935 ± 1963.931 us/op JDK11 + Graal (size) Mode Cnt Score Error Units valhallaBench.Multiply.multiply 100 avgt 3 3450.944 ± 1130.123 us/op GraalVM EE 1.0-rc8 (size) Mode Cnt Score Error Units valhallaBench.Multiply.multiply 100 avgt 3 3134.066 ± 518.812 us/op Matrix multiplication 2.3x 2.5x
  20. 20. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. !20
  21. 21. https://twitter.com/janiszt/status/1091678397523283968
  22. 22. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. !22
  23. 23. Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
  24. 24. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. !24 ECMAScript 6 compatibility
  25. 25. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. !25
  26. 26. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. !26 Graal.js on JDK11 https://github.com/graalvm/graal-js-jdk11-maven-demo
  27. 27. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | !27 https://www.youtube.com/watch?v=mRKjWrNJ8DI
  28. 28. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | !28 https://medium.com/graalvm/faster-r-with-fastr-4b8db0e0dceb
  29. 29. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | !29
  30. 30. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | !30
  31. 31. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | !31 https://medium.com/graalvm/analyzing-the-heap-of-graalvm-polyglot-applications-b9963e68a6a
  32. 32. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | !32
  33. 33. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | !33 https://medium.com/graalvm/safe-and-sandboxed-execution-of-native-code-f6096b35c360
  34. 34. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. !34 High performance, polyglot, language-level virtualization layer… embeddable across the stack in native and JVM-based applications.
  35. 35. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. !35 Fast Java, Scala, Kotlin, Groovy, Clojure... Instant startup, low footprint Polyglot & embeddable VM Interoperability between languages: node.js, Python, Ruby, R Why GraalVM?

×