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.2k
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
630
reflow/repaint
abouthiroppy
0
170
my tools
abouthiroppy
0
130
OSSを楽しむ話
abouthiroppy
0
150
React Nativeを触ってみた話
abouthiroppy
0
140
Other Decks in Programming
See All in Programming
スマホから Youtube Shortsを見られないようにする
lemolatoon
27
34k
Inside of Swift Export
giginet
PRO
1
250
Amazon Verified Permissions実践入門 〜Cedar活用とAppSync導入事例/Practical Introduction to Amazon Verified Permissions
fossamagna
2
110
AkarengaLT vol.38
hashimoto_kei
1
130
KoogではじめるAIエージェント開発
hiroaki404
1
220
TransformerからMCPまで(現代AIを理解するための羅針盤)
mickey_kubo
7
5.8k
Blazing Fast UI Development with Compose Hot Reload (droidcon London 2025)
zsmb
0
430
Designing Repeatable Edits: The Architecture of . in Vim
satorunooshie
0
190
contribution to astral-sh/uv
shunsock
0
570
Dive into Triton Internals
appleparan
0
350
GitHub Copilotを使いこなせ!/mastering_github_copilot!
kotakageyama
1
200
ネストしたdata classの面倒な更新にさようなら!Lensを作って理解するArrowのOpticsの世界
shiita0903
1
180
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
80
6k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Writing Fast Ruby
sferik
630
62k
Unsuck your backbone
ammeep
671
58k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
900
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.7k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
116
20k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Raft: Consensus for Rubyists
vanstee
140
7.2k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
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!