Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
How V8 executes WASM
Search
Taketoshi Aono(青野健利 a.k.a brn)
July 24, 2019
Programming
3
1.7k
How V8 executes WASM
WASM Pipeline of V8 javascript engine
Taketoshi Aono(青野健利 a.k.a brn)
July 24, 2019
Tweet
Share
More Decks by Taketoshi Aono(青野健利 a.k.a brn)
See All by Taketoshi Aono(青野健利 a.k.a brn)
document.write再考
brn
6
3k
Parsing Javascript
brn
14
9.2k
JSON & Object Tips
brn
1
490
CA 1Day Youth Bootcamp for Frontend LT
brn
0
950
Modern TypeScript
brn
2
800
javascript - behind the scene
brn
3
740
tc39 proposals
brn
0
880
プロダクト開発とTypeScript
brn
8
2.9k
React-Springでリッチなアニメーション
brn
1
700
Other Decks in Programming
See All in Programming
A2A プロトコルを試してみる
azukiazusa1
2
1.3k
AIプログラマーDevinは PHPerの夢を見るか?
shinyasaita
1
200
GraphRAGの仕組みまるわかり
tosuri13
8
530
Result型で“失敗”を型にするPHPコードの書き方
kajitack
5
600
WebViewの現在地 - SwiftUI時代のWebKit - / The Current State Of WebView
marcy731
0
110
AIと”コードの評価関数”を共有する / Share the "code evaluation function" with AI
euglena1215
1
140
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
330
既存デザインを変更せずにタップ領域を広げる方法
tahia910
1
280
童醫院敏捷轉型的實踐經驗
cclai999
0
210
RailsGirls IZUMO スポンサーLT
16bitidol
0
170
第9回 情シス転職ミートアップ 株式会社IVRy(アイブリー)の紹介
ivry_presentationmaterials
1
280
LINEヤフー データグループ紹介
lycorp_recruit_jp
0
2.2k
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1031
460k
Building Applications with DynamoDB
mza
95
6.5k
Statistics for Hackers
jakevdp
799
220k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Faster Mobile Websites
deanohume
307
31k
Visualization
eitanlees
146
16k
Building Adaptive Systems
keathley
43
2.6k
BBQ
matthewcrist
89
9.7k
A better future with KSS
kneath
239
17k
Thoughts on Productivity
jonyablonski
69
4.7k
Why Our Code Smells
bkeepers
PRO
337
57k
Navigating Team Friction
lara
187
15k
Transcript
H o w V 8 E x e c u
t e W A S M
Name !CSO 5BLFUPTIJ"POP੨݈ར Occupation 'SPOUFOE%FWFMPQFS1SPEVDU0XOFS Company $ZCFSBHFOU"EUFDI4UVEJP"*.FTTFOHFS OSS $POUSJCVUPSPG7
About IUUQJOGPCODI
8"4.࣮ߦύε
8"4. -JGU0⒎ JBY 5VSCP'BO 0UIFST 5VSCP'BO %FCVH *OUFSQSFUFS
-JGUPGG 8"4.ઐ༻ͷ#BTFMJOFίϯύΠϥ 8"4.ͷ01ίʔυΛ+*5ʹม͢Δ ϨδελϚγϯ͕ͩɺͷϩʔυʹελοΫ͏ ϨδελׂϦχΞʹߦ͍ɺϨδελ͕ރׇͨ͠ΒTQJMM͠ɺಛʹੜଘظؒ ͷੳ͍ͯ͠ͳ͍ 9ͱ*"ͷΈσϑΥϧτͰ0/ʹͳ͍ͬͯΔ
5VSCP'BO 7ͷ࠷దԽ+*5༻ύΠϓϥΠϯ άϥϑΛੜ͔ͯ͠Βɺάϥϑͷ࠷దԽύΠϓϥΠϯΛ௨Γɺ *OTUSVDUJPO4FMFDUPSΛܦͯ+*5ίʔυΛग़ྗ͢Δ +BWBTDSJQU͜ͷ࠷దԽΛܦͯ+*5ίʔυ͕ग़ྗ͞ΕΔ
5VSCP'BO1JQFMJOF
8"4. %FDPEF 'VODUJPO#PEZ 44" (SBQI 0QUJNJ[BUJPO QBTT 4DIFEVMJOH 3FHJTUFS "MMPDBUJPO
*OTUSVDUJPO TFMFDUJPO $PEF (FOFSBUJPO
-JGUPGG1JQFMJOF
8"4. %FDPEF 'VODUJPO#PEZ $PEF (FOFSBUJPO
KBWBTDSJQU1JQFMJOF
+4 44" (SBQI 0QUJNJ[BUJPO QBTT 4DIFEVMJOH 3FHJTUFS "MMPDBUJPO *OTUSVDUJPO TFMFDUJPO
$PEF (FOFSBUJPO 1BSTF "45 #ZUFDPEF (SBQI #ZUFDPEF
-JGUPGG5JFSJOH
8"4. -JGU0⒎ &YFDVUFCBTFMJOF+*5 5VSCP'BO *NNFEJBUFMZTUBSUCBDLHSPVOEDPNQJMF
5JFSJOH -JGUPGGͷ߹࠷ॳʹ-JGUPGGͰ#BTFMJOF+*5Λग़ྗ࣮ͯ͠ߦ͢Δ ͜͏͢Δ͜ͱͰελʔτΞοϓλΠϜͷߴԽΛߦ͏ ͞Βʹ8"4.+4ͱҧͬͯ੩తʹશͯܕ͚͞Ε͍ͯΔͨΊɺ࣮ߦͷ5SBDF ΛߦΘͣʹଈ࠷దԽ+*5Λग़ྗ͢Δ͜ͱ͕Ͱ͖Δ ͦͷͨΊɺ#BTFMJOFΛੜͭͭ͠όοΫάϥϯυͰ5VSCP'BOʹΑΔ࠷దԽ +*5ͷग़ྗΛಉ࣌ʹߦ͍ͬͯΔ
*OUFSQSFUFS 8"4.༻ͷΠϯλϓϦλ࣮ ී௨ʹ࣮ߦͨ͠߹ʹ͜ͷύεʹೖΔ͜ͱͳ͍ σόοά༻్ͱͯ͠ͷΈଘࡏ͢Δ ͱ͍ͯ
$PEF$BDIJOH
5VSCP'BODPEFDBDIJOH 8"4.ͷίʔυҰίϯύΠϧ͞ΕΔͱ$ISPNFʹΑͬͯΩϟογϡ͞Ε ͯ࣍ճҎ߱ߴͰىಈ͢Δ
5PFGpDJFOUDBDIJOH ʠJOTUBOUJBUF4USFBNJOHʡ͔ʠDPNQJMF4USFBNJOHʡΛར༻͢Δඞཁ͕͋ Δ 63-ͱXBTNͷΈ߹ΘͤͰΩϟογϡΛߦ͏ͷͰɺҧ͏63-͔Βϩʔυ ͢ΔͷΛΊΔ
KBWBTDSJQUͱൺͯ
$PEFTJ[F ѹॖ͞Εͨ#ZUFDPEFͳͷͰવKBWBTDSJQUͷιʔείʔυΑΓখ͍͞ ίʔυ༰ʹΑΔ͕
5ZQF'FFECBDL KBWBTDSJQUܕ͕ແ͍ͷͰɺCBTFMJOFͰ༷ʑͳܕʹରԠ͢ΔίʔυΛग़ྗ ͦͷޙऩू͞Εͨܕใ͔ΒมͷܕΛ༧ͯ͠+*5Λग़ྗ͢Δ 8"4.੩తܕ͚ͳͷͰɺͦͷաఔΛܦΔඞཁ͕ແ͍
4UBUJD0QUJNJ[BUJPO 8"4.ଟ͘ͷ߹ɺίϯύΠϥ͔Βग़ྗ͞ΕΔͨΊɺίϯύΠϥͷόοΫ Τϯυ͕੩తͳ࠷దԽΛࢪ͢͜ͱ͕Ͱ͖Δ +*5ͷλΠϛϯάͰߦ͏࠷దԽ࣌ؒΛ͔͚ΒΕͳ͍ͨΊɺߦ͑Δ࠷దԽ͕ ݶΒΕΔ
($ 8"4.ʹ($͕ແ͍ͷͰߴͳׂ͕Մೳ 8"4.ͷϝϞϦ+4ͷ"SSBZ#VGGFS͔ΒׂΓͯΒΕ͍ͯΔ͕ɺׂͷλΠ ϛϯάͰ0MEεϖʔεʹׂΓͯΔͷͰ+4ͷ($ͷରʹͳΓͮΒ͍
ؾʹͳΔ 8"4.͔ͳΓMPXMFWFMͳ#ZUFDPEFͳͷͰɺ+7.ͷΑ͏ͳલఏ݅Λͨ ͤΒΕͣɺΤϯδϯଆͰͰ͖Δ࠷దԽ͕͔ͳΓݶΒΕͯ͘Δ ࣄલͷ࠷దԽ͕ඇৗʹॏཁʹͳͬͯ͠·͍ɺ͏ίϯύΠϥʹੑೳ͕େ͖͘ ґଘͦ͠͏
·ͱΊ Γ8"4.ͱͯίϯύΠϥϑϨϯυϦʔ KBWBTDSJQUͷ࠷దԽύε͔ͳΓෳࡶʹݟ͑Δ