SlideShare une entreprise Scribd logo
1  sur  84
Télécharger pour lire hors ligne
-,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 
⏓⎥⎒⏍⎱ 
⏞⏷␯␒␦⎯⏯⍬␅⏓ 
٪⏍⏌

Contenu connexe

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

ソーシャルゲームを支える技術 ~ クラウドを活用した高負荷対策
ソーシャルゲームを支える技術 ~ クラウドを活用した高負荷対策ソーシャルゲームを支える技術 ~ クラウドを活用した高負荷対策
ソーシャルゲームを支える技術 ~ クラウドを活用した高負荷対策infinite_loop
 
オープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリオープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリ陽平 山口
 
SystemC Tutorial
SystemC TutorialSystemC Tutorial
SystemC Tutorialkocha2012
 
OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介Hiromu Yakura
 
Intel TSX HLE を触ってみた x86opti
Intel TSX HLE を触ってみた x86optiIntel TSX HLE を触ってみた x86opti
Intel TSX HLE を触ってみた x86optiTakashi Hoshino
 
PostgreSQL Unconference #5 ICU Collation
PostgreSQL Unconference #5 ICU CollationPostgreSQL Unconference #5 ICU Collation
PostgreSQL Unconference #5 ICU CollationNoriyoshi 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 方眼紙撲滅委員会 #pyfesTakeshi 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 Setxibbar
 
Tide - SmalltalkでSPA
Tide - SmalltalkでSPATide - SmalltalkでSPA
Tide - SmalltalkでSPAMasashi 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 DesignRyuji TAKEHARA
 
HandlerSocket plugin for MySQL
HandlerSocket plugin for MySQLHandlerSocket plugin for MySQL
HandlerSocket plugin for MySQLakirahiguchi
 
Linux Performance Analysis in 15 minutes
Linux Performance Analysis in 15 minutesLinux Performance Analysis in 15 minutes
Linux Performance Analysis in 15 minutesYohei Azekatsu
 
Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010Hiro Yoshioka
 
JJUG CCC 2016 fall バイトコードが君のトモダチになりたがっている
JJUG CCC 2016 fall バイトコードが君のトモダチになりたがっているJJUG CCC 2016 fall バイトコードが君のトモダチになりたがっている
JJUG CCC 2016 fall バイトコードが君のトモダチになりたがっているKoichi Sakata
 

Similaire à JITコンパイルはじめの一歩 (20)

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

Plus de Koichi Sakata

Introduction to JIT Compiler in JVM
Introduction to JIT Compiler in JVMIntroduction to JIT Compiler in JVM
Introduction to JIT Compiler in JVMKoichi 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 ImageKoichi Sakata
 
Introduction to GraalVM
Introduction to GraalVMIntroduction to GraalVM
Introduction to GraalVMKoichi 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 BuddyKoichi Sakata
 
Great Ideas in GraalVM
Great Ideas in GraalVMGreat Ideas in GraalVM
Great Ideas in GraalVMKoichi 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 CompilerKoichi Sakata
 
Kanjava 201804 Java News
Kanjava 201804 Java NewsKanjava 201804 Java News
Kanjava 201804 Java NewsKoichi 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 EEKoichi 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 AmberKoichi 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” culture in Japan and our web application architecture
“Purikura” culturein Japan andour web application architecture“Purikura” culturein Japan andour web application architecture
“Purikura” culture in Japan and our web application architectureKoichi Sakata
 
デブサミ2017 Javaコミュニティ作ったら人生変わった
デブサミ2017 Javaコミュニティ作ったら人生変わったデブサミ2017 Javaコミュニティ作ったら人生変わった
デブサミ2017 Javaコミュニティ作ったら人生変わったKoichi Sakata
 
日本からJavaOneに行こう!
日本からJavaOneに行こう!日本からJavaOneに行こう!
日本からJavaOneに行こう!Koichi Sakata
 
Seasar2で作った俺たちのサービスの今
Seasar2で作った俺たちのサービスの今Seasar2で作った俺たちのサービスの今
Seasar2で作った俺たちのサービスの今Koichi Sakata
 

Plus de 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
 
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)
 
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)
 
Introduction to GraalVM and Native Image
Introduction to GraalVM and Native ImageIntroduction to GraalVM and Native Image
Introduction to GraalVM and Native Image
 
Introduction to GraalVM
Introduction to GraalVMIntroduction to GraalVM
Introduction to GraalVM
 
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼうGraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
 
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
 
Great Ideas in GraalVM
Great Ideas in GraalVMGreat Ideas in GraalVM
Great Ideas in GraalVM
 
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
 
Kanjava 201804 Java News
Kanjava 201804 Java NewsKanjava 201804 Java News
Kanjava 201804 Java News
 
KanJava 201804 Career 思い込みから逃れた先には、可能性がある
KanJava 201804 Career 思い込みから逃れた先には、可能性があるKanJava 201804 Career 思い込みから逃れた先には、可能性がある
KanJava 201804 Career 思い込みから逃れた先には、可能性がある
 
from Java EE to Jakarta EE
from Java EE to Jakarta EEfrom Java EE to Jakarta EE
from Java EE to Jakarta EE
 
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
 
JJUG CCC 2017 Fall オレオレJVM言語を作ってみる
JJUG CCC 2017 Fall オレオレJVM言語を作ってみるJJUG CCC 2017 Fall オレオレJVM言語を作ってみる
JJUG CCC 2017 Fall オレオレJVM言語を作ってみる
 
KANJAVA PARTY 2017 前説
KANJAVA PARTY 2017 前説KANJAVA PARTY 2017 前説
KANJAVA PARTY 2017 前説
 
JJUG CCC 2017 Spring Seasar2からSpringへ移行した俺たちのアプリケーションがマイクロサービスアーキテクチャへ歩み始めた
JJUG CCC 2017 Spring Seasar2からSpringへ移行した俺たちのアプリケーションがマイクロサービスアーキテクチャへ歩み始めたJJUG CCC 2017 Spring Seasar2からSpringへ移行した俺たちのアプリケーションがマイクロサービスアーキテクチャへ歩み始めた
JJUG CCC 2017 Spring Seasar2からSpringへ移行した俺たちのアプリケーションがマイクロサービスアーキテクチャへ歩み始めた
 
“Purikura” culture in Japan and our web application architecture
“Purikura” culturein Japan andour web application architecture“Purikura” culturein Japan andour web application architecture
“Purikura” culture in Japan and our web application architecture
 
デブサミ2017 Javaコミュニティ作ったら人生変わった
デブサミ2017 Javaコミュニティ作ったら人生変わったデブサミ2017 Javaコミュニティ作ったら人生変わった
デブサミ2017 Javaコミュニティ作ったら人生変わった
 
日本からJavaOneに行こう!
日本からJavaOneに行こう!日本からJavaOneに行こう!
日本からJavaOneに行こう!
 
Seasar2で作った俺たちのサービスの今
Seasar2で作った俺たちのサービスの今Seasar2で作った俺たちのサービスの今
Seasar2で作った俺たちのサービスの今
 

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