SlideShare a Scribd company logo
-,7⏯␯␍⏠␧ 
⎰⎙⏂⎯λഽ 
#MXNXWRァ⎙⏆⎐⎢⏈ア 
ݠ୉۝λ 
1
ߢډࣅѻ
阪田 浩一 
文学部哲学科卒 
3 
@jyukutyo 
著書 3冊 
関西Javaエンジニアの会 
(関ジャバ) 発起人・運営 
Fight the Future 
http://jyukutyo.hatenablog.com/ 
フリュー株式会社 所属 
プリ機と連携する 
画像SNS「ピクトリンク」 
開発・運用に従事. 
会員数800万人! 
ScalaMatsuri 
スポンサー企業! 
エンジニア歴11年 35歳 
SI業界での客先常駐 9年 
Web系? 2年強 
塾講師アルバイト
-90ຢ⎢⎌⏊
⎰ 
ܞ௟⎯౎಺ࠋ⎯ 
ય⎨݂ࠜƧ
⏉⏎⎘⎐⎋Ա⎅⎘⎿⎚
⎿⎛⎰ 
⎋⎖⏊⎅
-,7⏯␯␍⏠␧⎤⎧ъを
ٶව⎫଑զ⎨⎰
-,7␕⍬⏵⎯щ২␚⏳␯⎰ 
߹۱ঽ⎬ 
ু␌⏠␄⏯⍬␅⏓ 
␚⏳␯⏯⍬␅⎬ 
ബԀ⎚⏌ァんア
⎔⎔⎨⎰ 
-,7⏯␯␍⏠␧⏓ 
߹۱ߗ⎬ 
ஓଯ⏯␯␍⏠␧⎚⏌ 
⎩⎅⎇Τය⎨छ⏂⎿⎚
-XVW,Q7LPH⏯␯␍⏠␧ 
! 
␝⏹⏿␅⎍څ⎴ࡥ⎖⏍⎠⎩⎎⎬ 
␝⏹⏿␅⎯␌⏠␄⏯⍬␅⏓⏯␯␍⏠␧⎘⎧ 
␉⏠␂⏟␒⎫␚⏳␯⏯⍬␅⎬ബԀ⎚⏌
␝␦⏿␄
⏯␯␍⏠␧݌⏀⎯ 
⏯⍬␅⏓څ⎴ࡥ⎚⎯⎨る 
߹۱⎍ਙ⎅
␃␝␦⏿␄
␝⏹⏿␅⏓⏯␯␍⏠␧⎚⏌ 
ࡽ๲⎬ 
੒⎎⎫⏦⍬␌⍬␔⏿␅⎍ 
⎃⏌
⎔⎯⏯␯␍⏠␧⎯ 
⏻⏠␛␯⏬⎨ 
݂଱ш⏃߹޵⎚⏌
-90⎨⎰߹۱ߗ⎬ 
␓␩␑⏝⏠␦␯⏬⎘る
⏯␯␍⏠␧⎬ખ⎚⏌ 
⏯⍬␅⏓౜ઐ⎚⏌
最適化の種類 
§ ␝⏹⏿␅څ⎴ࡥ⎘⎯⏠␯␥⏠␯ш 
§ ੺λ␃⏟⏵␍⏿⏽ 
§ ֩૳ೱഇߧ⎯ݪ࢑ 
§ ␧⍬␓わ⏞␯␩⍬␦␯⏬ 
§ ౮Ξ⏽⏣⏿⏫ݪ࢑ 
§ ␃⏿␅⏯⍬␅⎯ݪ࢑ 
§ ␃⍬⏻わ␑␩⍬ѽॾ
ຶア 
␝⏹⏿␅⎯⏠␯␥⏠␯ш
څ⎴ࡥ⎘⎧⎅⏌ 
␝⏹⏿␅⎯ඕਹ⏓ 
څ⎴ࡥ⎘ٴ⎬ 
⏯␐⍬⎚⏌
⏠␝⍬⏴⎘⏅⎚⎅
⎔⏍⎬⏉⎤⎧ 
ъ⎍⏉⎅⎯⎌をを
ࢡ⎖⎫ࡽ๲⎯ࣟ܄る 
␝⏹⏿␅⏓څ⎴ࡥ⎚ 
⏯⏵␄⎯൘⎍ 
ۿ⎐⎫⏌
␃␑⏥␧␄⎨⎰ 
␌⏠␄රභ⎯ 
␌⏠␄⏯⍬␅⏓ԥ⏁ 
␝⏹⏿␅⎍਻࣐⎩⎫⏌ 
ǩॴଯ⎫␧⍬␧
⎠⎡るஓଯ⎫␙␦⏳⍬⏃ 
⎃⏌⎯⎨る 
਻࣐⎰ 
⏞␓␦⏭⍬⏳␣␯⎕⎩⎬ 
ബш⎚⏌
ຶア 
੺λ␃⏟⏵␍⏿⏽
␙␦␞⍬␑⏟⏿⏫⎫ 
␝⏹⏿␅څ⎴ࡥ⎘⎬⎋⎅⎧る 
ދࢻ⎚⏌ؠ⎍ബ⏐⏊⎫⎅ 
⎩২଑⎘る
щ২␝⏹⏿␅٠ݲ⏓ 
⏵␧⍬⎚⏌ 
ァ⏦⍬␌⍬␥⏠␅⎍ 
ޡๆ⎖⏍⏌⎌⏓ 
⏽⏣⏿⏫⎘⎫⎅ア
੯݂଱ш
੺λ␃⏟⏵␍⏿⏽⎯২଑⎩ 
β⎇ؠ⎯⏠␯⏵⏻␯⏵ 
⎨⎃⎤⎠ࣟ܄⎫⎪
⏯␯␍⏠␧⎘⎠⏯⍬␅⏓ 
෌ڹ⎬⎘⎧ 
⏠␯⏻␓␦⏻⎬෸⏌ 
ァ⎿⎠⎰݁⏯␯␍⏠␧⎚⏌ア
⎥⎿⏋
⎥⎯␝⏹⏿␅⎬਻⎘⎧ 
੯݂଱ш⎩ 
݁⏯␯␍⏠␧⎍ 
،⏋റ⎖⏍⏌⎔⎩⏃ 
⏉⎐⎃⏌⎔⎩
⏯␯␍⏠␧わ␞⍬␅
λ୞⎰ෳ⎬⎘⎠ 
FOLHQW 
VHUYHU 
⏦␓⏳␣␯
FOLHQWゐ 
⏯␯␍⏠␧ࡽ๲⎰ਙ⎅ 
१ढ़⎖⏍⏌⏯⍬␅⎰ಅҼଯઢ⎅ 
VHUYHUゐ 
⏯␯␍⏠␧ࡽ๲⎰ઢ⎅ 
१ढ़⎖⏍⏌⏯⍬␅⎰ਙ⎅
FOLHQWゐ 
§ ステップ1(インタプリタ) 
§ 実行しながらホットなメソッドを検出する 
§ ステップ2(ネイティブ) 
§ ホットと判断したメソッドをJITコンパイル 
し、実行する
VHUYHUゐ 
§ ステップ1(インタプリタ) 
§ 実行しながらプロファイリングする 
§ ステップ2(ネイティブ) 
§ ホットと判断したメソッドをステップ1で取 
得したプロファイリングデータを使ってJIT 
コンパイルし、実行する 
§ プロファイリングデータを取得するため 
にインタプリタのフェーズが長い
-90⏤␯⏴␇⏞ 
⎠⏌⏃⎯ 
⎔⏍⏓ޡ⎅ഇ⎒⎮⎱ 
⎫⏊⏔ん
⎞⏔⎫ߗ੐⏃ 
⎃⏋⎿⎘⎠Ƨ
⏃⎇⎔⏔⎫ 
⏦␓⏳␣␯ 
ޡ⎅⎿⎜⏔
ܞ⎰ 
ߢஓଯ⎬ 
ຑ൘⎩⏃ޡ⎤⎧⎅⎿⎚
ҕ৥ؠ⏯␯␍⏠␧ 
-'.⎨஖௡ァ⏦␓⏳␣␯ǩ⎨ޱ଑⎍಩์ア 
-'.X⎿⎨␌⏿⏫␙⍬␄ 
-'.⎨⎰␃␑⏥␧␄⎨ยڹ 
! 
ǩ;;7LHUHGRPSLODWLRQ
અଯ⎬ٿ⎇⎩る
Քஓߗ⎬⎰ 
⏓ਪ⎐ޡ⎅る 
ਙ⎐Քஓ⎚⏌
।࣢⎬ஓݩ⎚⏌⏉⎇⎬ 
⎫⏍⎱⏓␝⏠␯⎬ޡ⎅る 
␍␑⏥⍬␚␯⏵⏓ۿ⏂⏌
⏃⎇ࢢ⎘ 
࣏⎘⎐٪⏌⎩る
⏠␯⏻␓␦⏻⎨⎰⎫⎐ 
⎯ઓҕ⎨ 
␓␩␑⏝⏠␦␯⏬⎚⏌ 
⏉⎇⎬⎚⏌
⏯␯␍⏠␧␨␕␧ 
§ level 0:インタプリタ 
§ level 1:C1 フル最適化 
§ プロファイリングなし 
§ level 2:C1 呼び出しとループのプロファ 
イリング 
§ level 3:C1 フルプロファイリング 
§ level 4:C2
⏯␯␍⏠␧⎯ 
ࡽ๲൘൚
⎍⎞⏍⎟⏍ 
⏩␡⍬⏓ߖ⎥
⎍⎞⏍⎟⏍ 
⏩␡⍬⏓ߖ⎥
⏩␡⍬⎯ૠ⎖⎬Ы⎙⎧ 
᪭ખ⎫⎪⏓ 
૛य़⎚⏌
⏯⍬␅⏩␟⏿⏳␡௅⎬ 
⏯␯␍⏠␧ڤ⎯ 
⏯⍬␅⎍జટ⎖⏍⏌⎩る
⏠␯⏻␓␦⏻わ␞⍬␅⎌⏊ 
⏯␯␍⏠␧⎖⏍⎠⏯⍬␅⏓ 
ޡๆ⎚⏌␞⍬␅⎬ 
উ⏋੃⎉⏌
⎔⏍⎰る␙⏠␯⏻ࢆ⎎Ԁ⎉ 
SRLQWHUVZL]]LQJ
⎩څ⎱⏍⏌ 
⎔⎩⏃⎃⏌
⏯␯␍⏠␧␨␕␧⎯সΫ 
§ level 0 - 3 - 4(理想的) 
§ 0 - 2 - 3 - 4(C2のキューが長いとき) 
§ 0 - 3 - 1(C2コンパイルができないメ 
ソッドのとき)?? 
§ 0 - 4(C1でコンパイルできない、インタ 
プリタでプロファイリングしてC2する)
໓ਞ݁⏯␯␍⏠␧
λ୞⏯␯␍⏠␧⎘⎠⎃⎩⏃ 
␓␩␑⏝⏠␦␯⏬⏓ 
ਞ⎒⏌
⎖⏊⎫⏌݂଱ш⎯ 
я௾ड़⎍⎃⏍⎱る 
⏯⍬␅⏓݁⏯␯␍⏠␧ 
⎚⏌
2Q6WDFN 
UHSODFHPHQW 
ァ265ア
␧⍬␓⎯ય⎨ 
ஔλ⎯␝⏹⏿␅⏓ 
څ⎴ࡥ⎘⎧⎅⏌ 
⏉⎇⎫ࣟ܄
␧⍬␓⎯݂ય⎬ 
⏠␯⏻␓␦⏻⎌⏊ 
⏯␯␍⏠␧⎘⎠⏯⍬␅⏓ 
ޡ⎇⏉⎇⎬ 
উ⏋੃⎉⏌
-,7⏯␯␍⏠␧⎯ 
ҷ௨൘൚
;;3ULQWRPSLODWLRQ ! 
75 1 3 java.lang.Math::min (11 bytes) 
75 3 3 java.lang.String::charAt (29 bytes) 
76 2 3 java.lang.AbstractStringBuilder::ensureCapacityInternal (16 bytes) 
76 4 n 0 java.lang.System::arraycopy (native) (static) 
77 5 3 java.lang.Object::init (1 bytes) 
77 6 3 java.lang.String::hashCode (55 bytes) 
77 7 3 java.lang.String::indexOf (70 bytes) 
78 8 3 java.lang.String::length (6 bytes) 
78 9 3 java.lang.AbstractStringBuilder::append (50 bytes) 
78 10 3 java.lang.String::getChars (62 bytes) 
78 11 3 java.lang.String::equals (81 bytes)
⏯␯␍⏠␧⎖⏍⎠ 
␝⏹⏿␅⎩ 
ߗԝる⏯␯␍⏠␧␨␕␧⎍ 
⏐⎌⏌
;;3ULQW7LHUHG(YHQWV ! 
0.047899: [call level=0 [java.lang.Object.init()V] @-1 queues=0,0 rate=n/a k=1.00,1.00 total=128,0 
mdo=0(0),0(0) max levels=0,0 compilable=c1,c1-osr,c2,c2-osr status=idle] 
0.048180: [loop level=0 [sun.nio.cs.UTF_8$Decoder.decode([BII[C)I] @20 queues=0,0 rate=n/a k=1.00,1.00 
total=29,1024 mdo=0(0),0(0) max levels=0,0 compilable=c1,c1-osr,c2,c2-osr status=idle] 
0.048348: [loop level=0 [sun.nio.cs.UTF_8$Decoder.decode([BII[C)I] @20 queues=0,0 rate=n/a k=1.00,1.00 
total=45,2048 mdo=0(0),0(0) max levels=0,0 compilable=c1,c1-osr,c2,c2-osr status=idle] 
0.048414: [loop level=0 [java.lang.String.hashCode()I] @24 queues=0,0 rate=n/a k=1.00,1.00 total=73,1024 
mdo=0(0),0(0) max levels=0,0 compilable=c1,c1-osr,c2,c2-osr status=idle] 
0.049419: [call level=0 [java.lang.String.hashCode()I] @-1 queues=0,0 rate=n/a k=1.00,1.00 total=128,1302 
mdo=0(0),0(0) max levels=0,0 compilable=c1,c1-osr,c2,c2-osr status=idle] 
0.049514: [call level=0 [java.lang.Object.init()V] @-1 queues=0,0 rate=n/a k=1.00,1.00 total=256,0 
mdo=0(0),0(0) max levels=0,0 compilable=c1,c1-osr,c2,c2-osr status=idle] 
0.049557: [compile level=3 [java.lang.Object.init()V] @-1 queues=0,0 rate=n/a k=1.00,1.00] !
⏉⏋࣏ݔ⎬ 
٪⏍⏌
⎖⏊⎬࣏ݔ⎬ 
٪⏌⎬⎰
;;/RJRPSLODWLRQ 
! 
;0/␑⏥⍬␚⏿␄⎨ࡥ⏌ 
;;8QORFN'LDJQRVWLF902SWLRQV 
⏓ஔߗ⎬঎଑⎚⏌಩์⎃⏋ !
KRWVSRWBSLGORJ ! 
nmethod compile_id='2' compiler='C2' entry='0x000000010508d220' size='1504' address='0x000000010508d0d0' 
relocation_offset='296' insts_offset='336' stub_offset='688' scopes_data_offset='736' 
scopes_pcs_offset='864' dependencies_offset='1456' handler_table_offset='1464' nul_chk_table_offset='1488' 
method='java/lang/String indexOf (II)I' bytes='70' count='366' backedge_count='6418' iicount='366' 
stamp='0.122'/ !
⏃⎇஬⏂⎿⎜⏔Ƨ
␀⍬␧⏓ޡ⎋⎇ん
-,7:DWFK 
KWWSVJLWKXEFRP$GRSW2SHQ-'.MLWZDWFK
⏷⏿␄⏞⏿␓⎰ 
FORQH⎘⎧ 
PYQSDFNDJH 
ๆΤ⎖⏍⎧⎅⏌ 
ODXQFK8,VKEDW
⏓߹۱⎚⏌⎡⎒
૝ԑ੺ん
␩⏬⏓ѽॾ⎚⏌⎩⎎⎰
;;7UDFHODVV/RDGLQJ 
⎨⏫␥⏵␩⍬␅ߗ⎯ 
ࣣൎ⏃ࡥ⎚
⎖⏊⎬
+RW6SRW⎯ 
௅ೱ⏦␓⏳␣␯ 
;;3ULQW$VVHPEO 
⏓⎥⎒⏍⎱ 
⏞⏷␯␒␦⎯⏯⍬␅⏓ 
٪⏍⏌

More Related Content

Similar to JITコンパイルはじめの一歩 (20)

ソーシャルゲームを支える技術 ~ クラウドを活用した高負荷対策
ソーシャルゲームを支える技術 ~ クラウドを活用した高負荷対策ソーシャルゲームを支える技術 ~ クラウドを活用した高負荷対策
ソーシャルゲームを支える技術 ~ クラウドを活用した高負荷対策
infinite_loop
 
オープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリオープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリ
陽平 山口
 
SystemC Tutorial
SystemC TutorialSystemC Tutorial
SystemC Tutorial
kocha2012
 
OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介
Hiromu Yakura
 
Intel TSX HLE を触ってみた x86opti
Intel TSX HLE を触ってみた x86optiIntel TSX HLE を触ってみた x86opti
Intel TSX HLE を触ってみた x86opti
Takashi Hoshino
 
PostgreSQL Unconference #5 ICU Collation
PostgreSQL Unconference #5 ICU CollationPostgreSQL Unconference #5 ICU Collation
PostgreSQL Unconference #5 ICU Collation
Noriyoshi Shinoda
 
Challengers 2013 winter ハッカソンに参加してみて
Challengers 2013 winter ハッカソンに参加してみてChallengers 2013 winter ハッカソンに参加してみて
Challengers 2013 winter ハッカソンに参加してみて
Yukio Saito
 
Inside of excel 方眼紙撲滅委員会 #pyfes
Inside of excel 方眼紙撲滅委員会 #pyfesInside of excel 方眼紙撲滅委員会 #pyfes
Inside of excel 方眼紙撲滅委員会 #pyfes
Takeshi Komiya
 
簡単!AWRをEXCELピボットグラフで分析しよう♪
簡単!AWRをEXCELピボットグラフで分析しよう♪簡単!AWRをEXCELピボットグラフで分析しよう♪
簡単!AWRをEXCELピボットグラフで分析しよう♪
Yohei Azekatsu
 
20120317 IT系勉強会 in 神戸
20120317 IT系勉強会 in 神戸20120317 IT系勉強会 in 神戸
20120317 IT系勉強会 in 神戸
Takahiro Iwase
 
More Better Nested Set
More Better Nested SetMore Better Nested Set
More Better Nested Set
xibbar
 
Tide - SmalltalkでSPA
Tide - SmalltalkでSPATide - SmalltalkでSPA
Tide - SmalltalkでSPA
Masashi Umezawa
 
初めてのCPUを作ってみた
初めてのCPUを作ってみた初めてのCPUを作ってみた
初めてのCPUを作ってみた
Eric Sartre
 
The rethinkingofrepair
The rethinkingofrepairThe rethinkingofrepair
The rethinkingofrepair
Kazutaka Tomita
 
Smart Tennis Lesson Serverless Design
Smart Tennis Lesson Serverless DesignSmart Tennis Lesson Serverless Design
Smart Tennis Lesson Serverless Design
Ryuji TAKEHARA
 
HandlerSocket plugin for MySQL
HandlerSocket plugin for MySQLHandlerSocket plugin for MySQL
HandlerSocket plugin for MySQL
akirahiguchi
 
Linux Performance Analysis in 15 minutes
Linux Performance Analysis in 15 minutesLinux Performance Analysis in 15 minutes
Linux Performance Analysis in 15 minutes
Yohei Azekatsu
 
Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010
Hiro Yoshioka
 
JJUG CCC 2016 fall バイトコードが君のトモダチになりたがっている
JJUG CCC 2016 fall バイトコードが君のトモダチになりたがっているJJUG CCC 2016 fall バイトコードが君のトモダチになりたがっている
JJUG CCC 2016 fall バイトコードが君のトモダチになりたがっている
Koichi Sakata
 
ソーシャルゲームを支える技術 ~ クラウドを活用した高負荷対策
ソーシャルゲームを支える技術 ~ クラウドを活用した高負荷対策ソーシャルゲームを支える技術 ~ クラウドを活用した高負荷対策
ソーシャルゲームを支える技術 ~ クラウドを活用した高負荷対策
infinite_loop
 
オープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリオープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリ
陽平 山口
 
SystemC Tutorial
SystemC TutorialSystemC Tutorial
SystemC Tutorial
kocha2012
 
OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介
Hiromu Yakura
 
Intel TSX HLE を触ってみた x86opti
Intel TSX HLE を触ってみた x86optiIntel TSX HLE を触ってみた x86opti
Intel TSX HLE を触ってみた x86opti
Takashi Hoshino
 
PostgreSQL Unconference #5 ICU Collation
PostgreSQL Unconference #5 ICU CollationPostgreSQL Unconference #5 ICU Collation
PostgreSQL Unconference #5 ICU Collation
Noriyoshi Shinoda
 
Challengers 2013 winter ハッカソンに参加してみて
Challengers 2013 winter ハッカソンに参加してみてChallengers 2013 winter ハッカソンに参加してみて
Challengers 2013 winter ハッカソンに参加してみて
Yukio Saito
 
Inside of excel 方眼紙撲滅委員会 #pyfes
Inside of excel 方眼紙撲滅委員会 #pyfesInside of excel 方眼紙撲滅委員会 #pyfes
Inside of excel 方眼紙撲滅委員会 #pyfes
Takeshi Komiya
 
簡単!AWRをEXCELピボットグラフで分析しよう♪
簡単!AWRをEXCELピボットグラフで分析しよう♪簡単!AWRをEXCELピボットグラフで分析しよう♪
簡単!AWRをEXCELピボットグラフで分析しよう♪
Yohei Azekatsu
 
20120317 IT系勉強会 in 神戸
20120317 IT系勉強会 in 神戸20120317 IT系勉強会 in 神戸
20120317 IT系勉強会 in 神戸
Takahiro Iwase
 
More Better Nested Set
More Better Nested SetMore Better Nested Set
More Better Nested Set
xibbar
 
Tide - SmalltalkでSPA
Tide - SmalltalkでSPATide - SmalltalkでSPA
Tide - SmalltalkでSPA
Masashi Umezawa
 
初めてのCPUを作ってみた
初めてのCPUを作ってみた初めてのCPUを作ってみた
初めてのCPUを作ってみた
Eric Sartre
 
Smart Tennis Lesson Serverless Design
Smart Tennis Lesson Serverless DesignSmart Tennis Lesson Serverless Design
Smart Tennis Lesson Serverless Design
Ryuji TAKEHARA
 
HandlerSocket plugin for MySQL
HandlerSocket plugin for MySQLHandlerSocket plugin for MySQL
HandlerSocket plugin for MySQL
akirahiguchi
 
Linux Performance Analysis in 15 minutes
Linux Performance Analysis in 15 minutesLinux Performance Analysis in 15 minutes
Linux Performance Analysis in 15 minutes
Yohei Azekatsu
 
Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010
Hiro Yoshioka
 
JJUG CCC 2016 fall バイトコードが君のトモダチになりたがっている
JJUG CCC 2016 fall バイトコードが君のトモダチになりたがっているJJUG CCC 2016 fall バイトコードが君のトモダチになりたがっている
JJUG CCC 2016 fall バイトコードが君のトモダチになりたがっている
Koichi Sakata
 

More from Koichi Sakata (20)

Introduction to JIT Compiler in JVM
Introduction to JIT Compiler in JVMIntroduction to JIT Compiler in JVM
Introduction to JIT Compiler in JVM
Koichi Sakata
 
Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)
Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)
Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)
Koichi Sakata
 
Guide to GraalVM (JJUG CCC 2019 Fall)
Guide to GraalVM (JJUG CCC 2019 Fall)Guide to GraalVM (JJUG CCC 2019 Fall)
Guide to GraalVM (JJUG CCC 2019 Fall)
Koichi Sakata
 
Introduction to GraalVM and Native Image
Introduction to GraalVM and Native ImageIntroduction to GraalVM and Native Image
Introduction to GraalVM and Native Image
Koichi Sakata
 
Introduction to GraalVM
Introduction to GraalVMIntroduction to GraalVM
Introduction to GraalVM
Koichi Sakata
 
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼうGraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
Koichi Sakata
 
Bytecode Manipulation with a Java Agent and Byte Buddy
Bytecode Manipulation with a Java Agent and Byte BuddyBytecode Manipulation with a Java Agent and Byte Buddy
Bytecode Manipulation with a Java Agent and Byte Buddy
Koichi Sakata
 
Great Ideas in GraalVM
Great Ideas in GraalVMGreat Ideas in GraalVM
Great Ideas in GraalVM
Koichi Sakata
 
Graal in GraalVM - A New JIT Compiler
Graal in GraalVM - A New JIT CompilerGraal in GraalVM - A New JIT Compiler
Graal in GraalVM - A New JIT Compiler
Koichi Sakata
 
Kanjava 201804 Java News
Kanjava 201804 Java NewsKanjava 201804 Java News
Kanjava 201804 Java News
Koichi Sakata
 
KanJava 201804 Career 思い込みから逃れた先には、可能性がある
KanJava 201804 Career 思い込みから逃れた先には、可能性があるKanJava 201804 Career 思い込みから逃れた先には、可能性がある
KanJava 201804 Career 思い込みから逃れた先には、可能性がある
Koichi Sakata
 
from Java EE to Jakarta EE
from Java EE to Jakarta EEfrom Java EE to Jakarta EE
from Java EE to Jakarta EE
Koichi Sakata
 
Java release cadence has been changed and about Project Amber
Java release cadence has been changed and about Project AmberJava release cadence has been changed and about Project Amber
Java release cadence has been changed and about Project Amber
Koichi Sakata
 
JJUG CCC 2017 Fall オレオレJVM言語を作ってみる
JJUG CCC 2017 Fall オレオレJVM言語を作ってみるJJUG CCC 2017 Fall オレオレJVM言語を作ってみる
JJUG CCC 2017 Fall オレオレJVM言語を作ってみる
Koichi Sakata
 
KANJAVA PARTY 2017 前説
KANJAVA PARTY 2017 前説KANJAVA PARTY 2017 前説
KANJAVA PARTY 2017 前説
Koichi Sakata
 
JJUG CCC 2017 Spring Seasar2からSpringへ移行した俺たちのアプリケーションがマイクロサービスアーキテクチャへ歩み始めた
JJUG CCC 2017 Spring Seasar2からSpringへ移行した俺たちのアプリケーションがマイクロサービスアーキテクチャへ歩み始めたJJUG CCC 2017 Spring Seasar2からSpringへ移行した俺たちのアプリケーションがマイクロサービスアーキテクチャへ歩み始めた
JJUG CCC 2017 Spring Seasar2からSpringへ移行した俺たちのアプリケーションがマイクロサービスアーキテクチャへ歩み始めた
Koichi Sakata
 
“Purikura” culturein Japan andour web application architecture
“Purikura” culturein Japan andour web application architecture“Purikura” culturein Japan andour web application architecture
“Purikura” culturein Japan andour web application architecture
Koichi Sakata
 
デブサミ2017 Javaコミュニティ作ったら人生変わった
デブサミ2017 Javaコミュニティ作ったら人生変わったデブサミ2017 Javaコミュニティ作ったら人生変わった
デブサミ2017 Javaコミュニティ作ったら人生変わった
Koichi Sakata
 
日本からJavaOneに行こう!
日本からJavaOneに行こう!日本からJavaOneに行こう!
日本からJavaOneに行こう!
Koichi Sakata
 
Seasar2で作った俺たちのサービスの今
Seasar2で作った俺たちのサービスの今Seasar2で作った俺たちのサービスの今
Seasar2で作った俺たちのサービスの今
Koichi Sakata
 
Introduction to JIT Compiler in JVM
Introduction to JIT Compiler in JVMIntroduction to JIT Compiler in JVM
Introduction to JIT Compiler in JVM
Koichi Sakata
 
Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)
Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)
Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)
Koichi Sakata
 
Guide to GraalVM (JJUG CCC 2019 Fall)
Guide to GraalVM (JJUG CCC 2019 Fall)Guide to GraalVM (JJUG CCC 2019 Fall)
Guide to GraalVM (JJUG CCC 2019 Fall)
Koichi Sakata
 
Introduction to GraalVM and Native Image
Introduction to GraalVM and Native ImageIntroduction to GraalVM and Native Image
Introduction to GraalVM and Native Image
Koichi Sakata
 
Introduction to GraalVM
Introduction to GraalVMIntroduction to GraalVM
Introduction to GraalVM
Koichi Sakata
 
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼうGraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
Koichi Sakata
 
Bytecode Manipulation with a Java Agent and Byte Buddy
Bytecode Manipulation with a Java Agent and Byte BuddyBytecode Manipulation with a Java Agent and Byte Buddy
Bytecode Manipulation with a Java Agent and Byte Buddy
Koichi Sakata
 
Great Ideas in GraalVM
Great Ideas in GraalVMGreat Ideas in GraalVM
Great Ideas in GraalVM
Koichi Sakata
 
Graal in GraalVM - A New JIT Compiler
Graal in GraalVM - A New JIT CompilerGraal in GraalVM - A New JIT Compiler
Graal in GraalVM - A New JIT Compiler
Koichi Sakata
 
Kanjava 201804 Java News
Kanjava 201804 Java NewsKanjava 201804 Java News
Kanjava 201804 Java News
Koichi Sakata
 
KanJava 201804 Career 思い込みから逃れた先には、可能性がある
KanJava 201804 Career 思い込みから逃れた先には、可能性があるKanJava 201804 Career 思い込みから逃れた先には、可能性がある
KanJava 201804 Career 思い込みから逃れた先には、可能性がある
Koichi Sakata
 
from Java EE to Jakarta EE
from Java EE to Jakarta EEfrom Java EE to Jakarta EE
from Java EE to Jakarta EE
Koichi Sakata
 
Java release cadence has been changed and about Project Amber
Java release cadence has been changed and about Project AmberJava release cadence has been changed and about Project Amber
Java release cadence has been changed and about Project Amber
Koichi Sakata
 
JJUG CCC 2017 Fall オレオレJVM言語を作ってみる
JJUG CCC 2017 Fall オレオレJVM言語を作ってみるJJUG CCC 2017 Fall オレオレJVM言語を作ってみる
JJUG CCC 2017 Fall オレオレJVM言語を作ってみる
Koichi Sakata
 
KANJAVA PARTY 2017 前説
KANJAVA PARTY 2017 前説KANJAVA PARTY 2017 前説
KANJAVA PARTY 2017 前説
Koichi Sakata
 
JJUG CCC 2017 Spring Seasar2からSpringへ移行した俺たちのアプリケーションがマイクロサービスアーキテクチャへ歩み始めた
JJUG CCC 2017 Spring Seasar2からSpringへ移行した俺たちのアプリケーションがマイクロサービスアーキテクチャへ歩み始めたJJUG CCC 2017 Spring Seasar2からSpringへ移行した俺たちのアプリケーションがマイクロサービスアーキテクチャへ歩み始めた
JJUG CCC 2017 Spring Seasar2からSpringへ移行した俺たちのアプリケーションがマイクロサービスアーキテクチャへ歩み始めた
Koichi Sakata
 
“Purikura” culturein Japan andour web application architecture
“Purikura” culturein Japan andour web application architecture“Purikura” culturein Japan andour web application architecture
“Purikura” culturein Japan andour web application architecture
Koichi Sakata
 
デブサミ2017 Javaコミュニティ作ったら人生変わった
デブサミ2017 Javaコミュニティ作ったら人生変わったデブサミ2017 Javaコミュニティ作ったら人生変わった
デブサミ2017 Javaコミュニティ作ったら人生変わった
Koichi Sakata
 
日本からJavaOneに行こう!
日本からJavaOneに行こう!日本からJavaOneに行こう!
日本からJavaOneに行こう!
Koichi Sakata
 
Seasar2で作った俺たちのサービスの今
Seasar2で作った俺たちのサービスの今Seasar2で作った俺たちのサービスの今
Seasar2で作った俺たちのサービスの今
Koichi Sakata
 

JITコンパイルはじめの一歩