the quest to the language graal: one jvm to rule them all · 29.04.2019  · • compilador jit...

Post on 20-Jul-2020

2 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Copyright©2019,Oracleand/oritsaffiliates.Allrightsreserved.| 3Confidential–OracleInternal/Restricted/HighlyRestricted

ThequesttothelanguageGraal:oneJVMtorulethemall

ElderMoraes|@elderjavaDeveloperAdvocateAbril,2019

Copyright©2019,Oracleand/oritsaffiliates.Allrightsreserved.|

SafeHarborStatementThefollowingisintendedtooutlineourgeneralproductdirection.Itisintendedforinformationpurposesonly,andmaynotbeincorporatedintoanycontract.Itisnotacommitmenttodeliveranymaterial,code,orfunctionality,andshouldnotberelieduponinmakingpurchasingdecisions.Thedevelopment,release,timing,andpricingofanyfeaturesorfunctionalitydescribedforOracle’sproductsmaychangeandremainsatthesolediscretionofOracleCorporation.

Copyright©2019,Oracleand/oritsaffiliates.Allrightsreserved.|

Copyright©2019,Oracleand/oritsaffiliates.Allrightsreserved.| 6

CenárioAtual GraalVM

PERFORMANCE

INTEROPERABILIDADE

TOOLING

Apenaslinguagenscomaltoinvestimento

Altaperformanceparatodasaslinguagens

Altocustodeserialização Zerooverhead

Cadalinguagemcomsuasprópriasferramentas(debug,profiling,etc)

Ferramentasúnicasparatodasaslinguagens

Copyright©2019,Oracleand/oritsaffiliates.Allrightsreserved.| 7

Comparaçãoentrelinguagens

Meta

Copyright©2019,Oracleand/oritsaffiliates.Allrightsreserved.| Confidential–OracleInternal/Restricted/HighlyRestricted 8

Copyright©2019,Oracleand/oritsaffiliates.Allrightsreserved.| Confidential–OracleInternal/Restricted/HighlyRestricted 9

Copyright©2019,Oracleand/oritsaffiliates.Allrightsreserved.| Confidential–OracleInternal/Restricted/HighlyRestricted 10

Copyright©2019,Oracleand/oritsaffiliates.Allrightsreserved.| Confidential–OracleInternal/Restricted/HighlyRestricted 11

Comparativo`clamp`emvárioscenários

Copyright©2019,Oracleand/oritsaffiliates.Allrightsreserved.| Confidential–OracleInternal/Restricted/HighlyRestricted 12

Copyright©2019,Oracleand/oritsaffiliates.Allrightsreserved.|

ImplementaçõesconvencionaisemitembytecodeparaaJVM–omesmoqueéfeitopelocompiladorJava

Confidential–OracleInternal/Restricted/HighlyRestricted 13

Copyright©2019,Oracleand/oritsaffiliates.Allrightsreserved.| 14

Hotspot

JIT

Copyright©2019,Oracleand/oritsaffiliates.Allrightsreserved.| 15

Hotspot

JITGraalVM

Copyright©2019,Oracleand/oritsaffiliates.Allrightsreserved.| 16

Hotspot

GraalVM

Truffle

Copyright©2019,Oracleand/oritsaffiliates.Allrightsreserved.| 17

Copyright©2019,Oracleand/oritsaffiliates.Allrightsreserved.|

Esclarecendoterminologiasefuncionalidades

• GraaléumcompiladorJITparaaJVM• GraalVMéaJVMcomGraal,Truffleeaslinguagensincluídas• OTruffleusaoGraalporvocê

Confidential–OracleInternal/Restricted/HighlyRestricted 18

Copyright©2019,Oracleand/oritsaffiliates.Allrightsreserved.|

InterfaceentreTruffleeGraal

Confidential–OracleInternal/Restricted/HighlyRestricted 19

Copyright©2019,Oracleand/oritsaffiliates.Allrightsreserved.|

InterfaceentreTruffleeGraal

20

Chamadafrequente

Copyright©2019,Oracleand/oritsaffiliates.Allrightsreserved.|

InterfaceentreTruffleeGraal

21

Copyright©2019,Oracleand/oritsaffiliates.Allrightsreserved.|

InterfaceentreTruffleeGraal

22

Chamadafrequente

Copyright©2019,Oracleand/oritsaffiliates.Allrightsreserved.|

InterfaceentreTruffleeGraal

23

Copyright©2019,Oracleand/oritsaffiliates.Allrightsreserved.|

• Aideianãoémisturarcódigodediferenteslinguagens• Removeoquesito“performance”aoescolherumalinguagem• Permiteintercâmbiodebibliotecasentrelinguagens

Confidential–OracleInternal/Restricted/HighlyRestricted 24

Copyright©2019,Oracleand/oritsaffiliates.Allrightsreserved.|

•  Inclui– JVM(REouDK)– Java– Javascript– Ruby– R– Outrasacaminho!

• MacouLinux

25

GraalVM– Tudoemumúnicopacote

Copyright©2019,Oracleand/oritsaffiliates.Allrightsreserved.|

Java10+

java-XX:+UnlockExperimentalVMOptions-XX:+UseJVMCICompiler-jar...

Parabéns,vocêestáusandoGraal!J

Confidential–OracleInternal/Restricted/HighlyRestricted 26

Copyright©2019,Oracleand/oritsaffiliates.Allrightsreserved.|

PorqueoGraalVMémaisrápido?

• AnosdepesquisaparacriarumcompiladorJITmaisrápido• CompiladorJITescritoemlinguagemdealtonível(Java)aoinvésdeC++,permitindosuaevoluçãodeformamaisfácilesegura• Otimizaçõesdeescapeanalysiseinlining(arquiteturadeprocessamento)

Confidential–OracleInternal/Restricted/HighlyRestricted 27

Copyright©2019,Oracleand/oritsaffiliates.Allrightsreserved.| Confidential–OracleInternal/Restricted/HighlyRestricted 28

Estáprontoparaprodução?

Copyright©2019,Oracleand/oritsaffiliates.Allrightsreserved.| Confidential–OracleInternal/Restricted/HighlyRestricted 29

Copyright©2019,Oracleand/oritsaffiliates.Allrightsreserved.|

Twitter&GraalVM

•  EstáemproduçãonoTwitter!•  Elesdizemquejáeconomizaram“centenasdemilharesdedólares”• MicroservicesemScala• UtilizamaversãoCommunity;aperformancepoderiaseraindamelhorcomaversãocomercial

Confidential–OracleInternal/Restricted/HighlyRestricted 30

13%maisrápidocomGraalVM

Copyright©2019,Oracleand/oritsaffiliates.Allrightsreserved.| 31

Copyright©2019,Oracleand/oritsaffiliates.Allrightsreserved.|

@elderjavabook.eldermoraes.com

Copyright©2019,Oracleand/oritsaffiliates.Allrightsreserved.|

Java@CloudAge

bit.ly/javacloudage

Copyright©2019,Oracleand/oritsaffiliates.Allrightsreserved.| 34

Visiteonossoestande

Façaumtrial

Ganheumbrinde!

Façaumhandson

Ganheoutrobrinde!

Copyright©2019,Oracleand/oritsaffiliates.Allrightsreserved.| 35Confidential–OracleInternal/Restricted/HighlyRestricted

top related