Weitere ähnliche Inhalte Ähnlich wie General Capabilities of GraalVM by Oleg Selajev @shelajev (20) Mehr von Oracle Developers (20) Kürzlich hochgeladen (20) General Capabilities of GraalVM by Oleg Selajev @shelajev1. Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Oleg Šelajev
GraalVM team, Oracle Labs
@shelajev
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
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?
7. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. !7
Java HotSpot VM
GraalVM Compiler
8. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. !8
Java HotSpot VM
GraalVM Compiler
Truffle Framework
LLVM
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
13. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. !13
Renaissance suite
https://renaissance.dev
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. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. !15
sbt > clean; compile;
https://medium.com/graalvm/compiling-scala-faster-with-graalvm-86c5c0857fa3
18. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | !18
Matrix multiplication
https://www.youtube.com/watch?v=RFF2SfPMfpk
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
24. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. !24
ECMAScript 6 compatibility
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. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | !27
https://www.youtube.com/watch?v=mRKjWrNJ8DI
28. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | !28
https://medium.com/graalvm/faster-r-with-fastr-4b8db0e0dceb
31. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | !31
https://medium.com/graalvm/analyzing-the-heap-of-graalvm-polyglot-applications-b9963e68a6a
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. 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. 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?