Submit Search
Upload
GraalVM at Fukuoka LT
•
0 likes
•
1,482 views
なおき きしだ
Follow
2018/12/12 Fukuoka LTでの登壇資料です
Read less
Read more
Technology
Report
Share
Report
Share
1 of 18
Download now
Download to read offline
Recommended
GraalVMについて
GraalVMについて
なおき きしだ
GraalVMの紹介とTruffleでPHPぽい言語を実装したら爆速だった話
GraalVMの紹介とTruffleでPHPぽい言語を実装したら爆速だった話
なおき きしだ
これからのコンピューティングの変化とこれからのプログラミング in 福岡 2018/12/8
これからのコンピューティングの変化とこれからのプログラミング in 福岡 2018/12/8
なおき きしだ
VRカメラが楽しいのでブラウザで見たくなった話
VRカメラが楽しいのでブラウザで見たくなった話
なおき きしだ
最近のJava事情
最近のJava事情
なおき きしだ
怖いコードの話 2018/7/18
怖いコードの話 2018/7/18
なおき きしだ
Java新機能観察日記 - JJUGナイトセミナー
Java新機能観察日記 - JJUGナイトセミナー
なおき きしだ
プログラマになるためになにを勉強するか at 九州学生エンジニアLT大会
プログラマになるためになにを勉強するか at 九州学生エンジニアLT大会
なおき きしだ
Recommended
GraalVMについて
GraalVMについて
なおき きしだ
GraalVMの紹介とTruffleでPHPぽい言語を実装したら爆速だった話
GraalVMの紹介とTruffleでPHPぽい言語を実装したら爆速だった話
なおき きしだ
これからのコンピューティングの変化とこれからのプログラミング in 福岡 2018/12/8
これからのコンピューティングの変化とこれからのプログラミング in 福岡 2018/12/8
なおき きしだ
VRカメラが楽しいのでブラウザで見たくなった話
VRカメラが楽しいのでブラウザで見たくなった話
なおき きしだ
最近のJava事情
最近のJava事情
なおき きしだ
怖いコードの話 2018/7/18
怖いコードの話 2018/7/18
なおき きしだ
Java新機能観察日記 - JJUGナイトセミナー
Java新機能観察日記 - JJUGナイトセミナー
なおき きしだ
プログラマになるためになにを勉強するか at 九州学生エンジニアLT大会
プログラマになるためになにを勉強するか at 九州学生エンジニアLT大会
なおき きしだ
これからのコンピューティングの変化とこれからのプログラミング at 広島
これからのコンピューティングの変化とこれからのプログラミング at 広島
なおき きしだ
Summary of JDK10 and What will come into JDK11
Summary of JDK10 and What will come into JDK11
なおき きしだ
Summary of JDK10 and What will come into JDK11
Summary of JDK10 and What will come into JDK11
なおき きしだ
Java10 and Java11 at JJUG CCC 2018 Spr
Java10 and Java11 at JJUG CCC 2018 Spr
なおき きしだ
New thing in JDK10 even that scala-er should know
New thing in JDK10 even that scala-er should know
なおき きしだ
Java Release Model (on Scala Matsuri)
Java Release Model (on Scala Matsuri)
なおき きしだ
これからのJava言語と実行環境
これからのJava言語と実行環境
なおき きしだ
JavaOne報告2017
JavaOne報告2017
なおき きしだ
JavaOne2017で感じた、Javaのいまと未来 in 大阪
JavaOne2017で感じた、Javaのいまと未来 in 大阪
なおき きしだ
Java8 コーディングベストプラクティス and NetBeansのメモリログから...
Java8 コーディングベストプラクティス and NetBeansのメモリログから...
なおき きしだ
NetBeansのメモリ使用ログから機械学習できしだが働いてるかどうか判定する
NetBeansのメモリ使用ログから機械学習できしだが働いてるかどうか判定する
なおき きしだ
JavaOne2016報告
JavaOne2016報告
なおき きしだ
コンピューティングとJava~なにわTECH道
コンピューティングとJava~なにわTECH道
なおき きしだ
Javaプログラミング入門
Javaプログラミング入門
なおき きしだ
人工知能に何ができないか
人工知能に何ができないか
なおき きしだ
乱数のたのしい話
乱数のたのしい話
なおき きしだ
JavaOne2015報告またはこれからのJava
JavaOne2015報告またはこれからのJava
なおき きしだ
これからのコンピューティングの変化とJava-JJUG CCC 2015 Fall
これからのコンピューティングの変化とJava-JJUG CCC 2015 Fall
なおき きしだ
機械学習プロ生20151121
機械学習プロ生20151121
なおき きしだ
GPUをJavaで使う話(Java Casual Talks #1)
GPUをJavaで使う話(Java Casual Talks #1)
なおき きしだ
More Related Content
More from なおき きしだ
これからのコンピューティングの変化とこれからのプログラミング at 広島
これからのコンピューティングの変化とこれからのプログラミング at 広島
なおき きしだ
Summary of JDK10 and What will come into JDK11
Summary of JDK10 and What will come into JDK11
なおき きしだ
Summary of JDK10 and What will come into JDK11
Summary of JDK10 and What will come into JDK11
なおき きしだ
Java10 and Java11 at JJUG CCC 2018 Spr
Java10 and Java11 at JJUG CCC 2018 Spr
なおき きしだ
New thing in JDK10 even that scala-er should know
New thing in JDK10 even that scala-er should know
なおき きしだ
Java Release Model (on Scala Matsuri)
Java Release Model (on Scala Matsuri)
なおき きしだ
これからのJava言語と実行環境
これからのJava言語と実行環境
なおき きしだ
JavaOne報告2017
JavaOne報告2017
なおき きしだ
JavaOne2017で感じた、Javaのいまと未来 in 大阪
JavaOne2017で感じた、Javaのいまと未来 in 大阪
なおき きしだ
Java8 コーディングベストプラクティス and NetBeansのメモリログから...
Java8 コーディングベストプラクティス and NetBeansのメモリログから...
なおき きしだ
NetBeansのメモリ使用ログから機械学習できしだが働いてるかどうか判定する
NetBeansのメモリ使用ログから機械学習できしだが働いてるかどうか判定する
なおき きしだ
JavaOne2016報告
JavaOne2016報告
なおき きしだ
コンピューティングとJava~なにわTECH道
コンピューティングとJava~なにわTECH道
なおき きしだ
Javaプログラミング入門
Javaプログラミング入門
なおき きしだ
人工知能に何ができないか
人工知能に何ができないか
なおき きしだ
乱数のたのしい話
乱数のたのしい話
なおき きしだ
JavaOne2015報告またはこれからのJava
JavaOne2015報告またはこれからのJava
なおき きしだ
これからのコンピューティングの変化とJava-JJUG CCC 2015 Fall
これからのコンピューティングの変化とJava-JJUG CCC 2015 Fall
なおき きしだ
機械学習プロ生20151121
機械学習プロ生20151121
なおき きしだ
GPUをJavaで使う話(Java Casual Talks #1)
GPUをJavaで使う話(Java Casual Talks #1)
なおき きしだ
More from なおき きしだ
(20)
これからのコンピューティングの変化とこれからのプログラミング at 広島
これからのコンピューティングの変化とこれからのプログラミング at 広島
Summary of JDK10 and What will come into JDK11
Summary of JDK10 and What will come into JDK11
Summary of JDK10 and What will come into JDK11
Summary of JDK10 and What will come into JDK11
Java10 and Java11 at JJUG CCC 2018 Spr
Java10 and Java11 at JJUG CCC 2018 Spr
New thing in JDK10 even that scala-er should know
New thing in JDK10 even that scala-er should know
Java Release Model (on Scala Matsuri)
Java Release Model (on Scala Matsuri)
これからのJava言語と実行環境
これからのJava言語と実行環境
JavaOne報告2017
JavaOne報告2017
JavaOne2017で感じた、Javaのいまと未来 in 大阪
JavaOne2017で感じた、Javaのいまと未来 in 大阪
Java8 コーディングベストプラクティス and NetBeansのメモリログから...
Java8 コーディングベストプラクティス and NetBeansのメモリログから...
NetBeansのメモリ使用ログから機械学習できしだが働いてるかどうか判定する
NetBeansのメモリ使用ログから機械学習できしだが働いてるかどうか判定する
JavaOne2016報告
JavaOne2016報告
コンピューティングとJava~なにわTECH道
コンピューティングとJava~なにわTECH道
Javaプログラミング入門
Javaプログラミング入門
人工知能に何ができないか
人工知能に何ができないか
乱数のたのしい話
乱数のたのしい話
JavaOne2015報告またはこれからのJava
JavaOne2015報告またはこれからのJava
これからのコンピューティングの変化とJava-JJUG CCC 2015 Fall
これからのコンピューティングの変化とJava-JJUG CCC 2015 Fall
機械学習プロ生20151121
機械学習プロ生20151121
GPUをJavaで使う話(Java Casual Talks #1)
GPUをJavaで使う話(Java Casual Talks #1)
GraalVM at Fukuoka LT
1.
GraalVM Fukuoka LT 2018/12/12 LINE
Fukuoka
2.
• • LINE Fukuoka •
@kis • Oracle Code One
3.
Java • 2007 (
) • Java • 2019/1/12( ) Oracle Code One 2018 • connpass
4.
• GraalVM • GraalVM
5.
GraalVM • Oracle JVM •
http://www.graalvm.org/ • Graal + Truffle • Polyglot • JS, Python, Ruby, … •
6.
GraalVM and MicroProfile:
A Polyglot Microservices Solution [DEV6016]
7.
Graal • Java JIT •
C2 Client(C1) Server(C2) Compiler Interface HotSpot Graal JVMCI HotSpot Written in Java
8.
Truffle Sulong • Truffle • •
AST GC • LLVM • Sulong • LLVM bitcode -> Truffle AST • LLVM • Rust, Swift, C…
9.
Polyglot • Truffle • JavaScript(Graal
JS), Ruby(TruffleRuby), Python, R… • • • Oracle MySQL SQL JavaScript
10.
• Java • SubstrateVM Instant
Startup and Low Footprint for Java [DEV5705]
11.
GraalVM • JVM • Polyglot •
LLVM •
12.
VM • JIT • Also
available with JDK11 java -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMXCICompiler Hello
13.
• • 0 2 4 6 8 10 12 14 16 18 ( ) JDK8 JDK11
JDK11+Graal GraalVM https://github.com/kishida/smallpt4j/blob/original/src/main/java/naoki/smallpt/SmallPT.java
14.
• • Graal • Graal •
JIT Graal 2172 5376 1 org.graalvm.compiler.lir.amd64.AMD64Move::canMoveConst2Stack (81 bytes) 2172 5377 1 org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1::<init> (50 bytes) 2172 5385 1 org.graalvm.compiler.core.common.type.ObjectStamp::getLIRKind (7 bytes) 2172 5386 1 org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator::emitAdd (232 bytes) 2174 5387 1 org.graalvm.compiler.lir.gen.LIRGenerator::emitJavaConstant (16 bytes) 2174 5378 1 org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1::evaluate (181 bytes) 2175 5388 1 org.graalvm.compiler.core.common.type.FloatStamp::getLIRKind (11 bytes) 2175 5392 3 org.graalvm.collections.EconomicMapImpl$1::iterator (9 bytes) 2175 5393 3 org.graalvm.collections.EconomicMapImpl$1$1::<init> (15 bytes)
15.
Polyglot • JavaScript Java $
js --jvm --polyglot > var BigInteger = Java.type(‘BigInteger’) > BigInteger.valueOf(123).pow(10).toString() • JavaScript Ruby > Interop.eval(‘ruby’, ‘print “hello”’)
16.
LLVM • Rust $ rustc
--emit=llvm-bc main.rs $ lli --lib $(rustc --print sysroot)/lib/libstd-* main.bc
17.
• $ native-image Hello $
./Hello • • 46 (JDK11 11 , GraalVM 17 ) • ->10MB • GraalVM 1.0 RC1 ImageIO graaldemo $ time java Hello Hello! real 0m0.103s user 0m0.068s sys 0m0.025s graaldemo $ time ./hello Hello! real 0m0.013s user 0m0.005s sys 0m0.006s
18.
• GraalVM
Download now