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
Node8.3.0について
Search
Yuta Hiroto
August 04, 2017
Programming
1
3.1k
Node8.3.0について
buildersconの飛び込みLT資料。
以下の記事のスライド版です。
http://abouthiroppy.hatenablog.jp/entry/2017/08/03/095304
Yuta Hiroto
August 04, 2017
Tweet
Share
More Decks by Yuta Hiroto
See All by Yuta Hiroto
ECMAScript
abouthiroppy
0
580
reflow/repaint
abouthiroppy
0
140
my tools
abouthiroppy
0
95
OSSを楽しむ話
abouthiroppy
0
110
React Nativeを触ってみた話
abouthiroppy
0
98
Other Decks in Programming
See All in Programming
OUPC2024 Day 1 解説
kowerkoint
0
380
GDG Super.init(version=6) - From Where to Wear : 모바일 개발자가 워치에서 발견한 인사이트
haeti2
0
530
requirements with math
moony
0
500
2025/3/18 サービスの成長で生じる幅広いパフォーマンスの問題を、 AIで手軽に解決する
shirahama_x
0
140
技術好きなエンジニアが "リーダーへの進化" によって得たものと失ったもの
pospome
5
1.3k
snacks.nvim内のセットアップ不要なプラグインを紹介 / introduce_snacks_nvim
uhooi
0
290
Go言語での実装を通して学ぶ、高速なベクトル検索を支えるクラスタリング技術/fukuokago-kmeans
monochromegane
1
140
私の愛したLaravel 〜レールを超えたその先へ〜
kentaroutakeda
11
2.9k
Return of the Full-Stack Developer
simas
PRO
1
300
Denoでフロントエンド開発 2025年春版 / Frontend Development with Deno (Spring 2025)
petamoriken
1
1.2k
Cloudflare Pagesのサイトを NotebookLMから読みやすくする Cloudflare Meet-up Tokyo Vol.7
xiombatsg
0
110
신입 안드로이드 개발자의 AI 스타트업 생존기 (+ Native C++ Code를 Android에서 사용해보기)
dygames
0
480
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.4k
Navigating Team Friction
lara
183
15k
How to train your dragon (web standard)
notwaldorf
91
5.9k
How to Ace a Technical Interview
jacobian
276
23k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Practical Orchestrator
shlominoach
186
10k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.4k
The Invisible Side of Design
smashingmag
299
50k
Site-Speed That Sticks
csswizardry
4
440
Transcript
Node8.3.0ʹ͍ͭͯ Yuta Hiroto(@about_hiroppy) ඈͼࠐΈLT(5min)
Me Twitter: about_hiroppy GitHub: abouthiroppy ኍށ ༟େ
ݱࡏͷNodeͷঢ়گ • current(master) - v9.0.0-pre • latest - v8.2.1 •
Current Proposal - v8.3.0 • LTS(Long Term Support) • Boron - v4.8.4 (status: Maintenance) • Argon - v6.11.2 (status: Active) • Carbon - v8.x (status: Pending(2017/10 ~))
v8.3.0 proposalͷେ͖ͳมߋ • V8ͷv6.0ΞοϓάϨʔυ • ͜ΕʹΑΓɺύϑΥʔϚϯεϓϩϑΝΠϧ ͕େ෯ʹมߋ͞ΕΔ • WHATWG Encoding
Standard (TextDecoderͱTextEncoder)͕࣮͞Εͨ https://github.com/nodejs/node/pull/14594
v8.3.0 proposalͷେ͖ͳมߋ • V8ͷv6.0ΞοϓάϨʔυ • ͜ΕʹΑΓɺύϑΥʔϚϯεϓϩϑΝΠϧ ͕େ෯ʹมߋ͞ΕΔ • WHATWG Encoding
Standard (TextDecoderͱTextEncoder)͕࣮͞Εͨ https://github.com/nodejs/node/pull/14594
TurboFan + Ignition ͕σϑΥϧτͱͳΔʂ
NodeͱV8 • V8ͷv5.9͔ΒσϑΥϧτͱͳΔ TurboFanͱIgnitionͱ͍͏ͷ͕͋Γ·͢ • NodeͰॳΊͯσϑΥϧτʹͳΔͷ͕ ࠓճͷมߋͱͳΓ·͢ • v5.9NodeͷϦϦʔεϥΠϯʹೖ͓ͬͯΒͣɺ v6.0͔ΒೖΔ͔ΒͰ͢
TurboFan + Ignition • TurboFan • JIT CompilerͰCrankshaft͔Βஔ͖ΘΔͷͰ͢ • ES2015Ͱͷ࠷దԽࠔͳ෦try-catchͷ࠷దԽͳͲ͕ՄೳͱͳΓ·͢
• chrome 41͔Βஈ֊తʹ༻͞Εͯ·ͨ͠ • Ignition • Register machine • ϞόΠϧͷϝϞϦফඅݮΛඪͱͯ͠࡞ΒΕͨΠϯλϓϦλ • JSͷίʔυΛbytecodeʹ͠·͢
V8ͷ࣮ߦϑϩʔ https://docs.google.com/presentation/d/1OqjVqRhtwlKeKfvMdX6HaCIu9wpZsrzqpIVIwQSuiXQ/edit#slide=id.g1357e6d1a4_0_58
ϕϯνϚʔΫ
Node Core • Internal Modules(V8 v5.9) • buffers events http
() querystring streams string_decoder url util v5.9ͰओʹࠨͷϞδϡʔϧͷ ϕϯνϚʔΫ͕v5.8 ΑΓԼ͕ͬͯ͠·ͬͨ ͔͠͠ɺv6.0/6.1ͰTurboFan ͷଟ͘ͷ͕վળ͞ΕͨͷͰ ࠓޙͬͱྑ͘ͳΔ
node benchmark.js 390.80s cpu 8:16.27 total webpack v8.2.1 (V8
v5.8) v8.3.0 (V8 v6.0) node benchmark.js 385.03s cpu 7:47.66 total
Loading: Load Performance median: 147.627503ms Single File: CPU Speed is
3100 with multiplier 13000000 Performance budget exceeded: 5423.646407ms (limit: 4193.548387096775ms) Multi Files (0 files): CPU Speed is 3100 with multiplier 39000000 Performance budget exceeded: 13073.789987ms (limit: 12580.645161290322ms) ESLint Loading: Load Performance median: 141.143209ms Single File: CPU Speed is 3100 with multiplier 13000000 Performance budget exceeded: 5300.968599ms (limit: 4193.548387096775ms) Multi Files (0 files): CPU Speed is 3100 with multiplier 39000000 Performance budget exceeded:13120.178363ms (limit: 12580.645161290322ms) v8.2.1 (V8 v5.8) v8.3.0 (V8 v6.0)
ϕϯνϚʔΫʹؔͯ͠ • جຊతʹվળ͞Ε͍ͯΔ(v8.2.1͔Βv8.3.0) • NodeͷInternal modulesͰ 100%Ҏ্ͷվળ͋ΕɺѱԽ͋Δ
·ͱΊ • 8݄தʹ8.3.0͕ϦϦʔε͞Ε·͢ • NodeͷV8͕v6.0ΞοϓάϨʔυ͞ΕΔ 5.8 → 6.0 • WHATWG
Encoding Standard͕ೖΔ • ࠓޙɺNode, Chromeߋʹ͘ͳΔ
͜ͷLTͷهࣄ Node8.3.0ͰσϑΥϧτʹͳΔTF/IʹؔΘΔ ϕϯνϚʔΫʹ͍ͭͯ http://abouthiroppy.hatenablog.jp/entry/2017/08/03/095304
౦ژNodeֶԂࡇ2017 CFPͷక͕8݄ͷ15ͳͷͰ ൃද͍ͨ͠ํͥͻԠื͍ͯͩ͘͠͞ʂʂʂ
Thanks!