Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
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