HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

ReactiveConf 2017 - Tom Dale: Secrets of the Glimmer VM

ReactiveConf1 HN recommender · recommended in 1 month, 2018-2019
YouTube
3K views · 8 years ago · talk · dated

Tom Dale explains the internals of the Glimmer VM, Ember's rendering engine, which compiles templates to opcodes. The talk includes a performance benchmark demo.

HN points to it for understanding Glimmer and Ember's view layer, and as a reference for opcode-compiled templates.

Web developmentCompilers, interpreters & program analysis#glimmer#ember#virtualmachine#templates#webframeworks

3 comments from Hacker News

@jonkoops2019 · in “React Concurrent Mode”

This is a good development. Honestly one thing I very much think is a downside about React is the fact that your template is also JavaScript. Don't get me wrong this is incredibly powerful and can be very expressive, but it comes at a cost. That cost has the same cost as other JavaScript - it's blocking, cannot be paused and has all the possibilities of de-optimizations that might occur in the JIT. The Ember team faced a similar problem in the past and I find their solution to this problem quite intriguing, even in it's obscurity. Instead of compiling their templates to JavaScript they instead compile them to opcodes in a binary format which is executed by a virtual machine. This has several advantages. Since the template file is represented as an optimized binary the size of the file itself is incredibly small, excellent since templates can be a large part of your eventual code. Not only that but since the instructions are opcodes, this mean the VM can pause at a moment when the browser is too busy with other stuff. Since a large part of your templates is probably static and not prone to any changes the template file also indicates which parts of the instructions are dynamic and which are static. This allows the VM to generate a separate set of instructions just for subsequent updates, only updating those parts which are dynamic. Now I am not saying this is a silver bullet, it is however an interesting and fresh approach. In case you're interested in this check out the Glimm

CitesView on HN
@lightblade2018 · in “Hyperscript Tagged Markup: JSX alternative using standard tagged templates”

Yes, the runtime needs to be JavaScript. It’s not obviously faster, but it’s been benchmarked to be faster. ▶ this video You can skip to 29:34 for the performance demo.

CitesView on HN
@mhale2018 · in “Guide to JavaScript Frameworks”

Ember is the PostgreSQL of JavaScript frameworks. Similar to the way Postgres has deep roots that trace back to Ingres[1] in the days before SQL was a solidly established standard, Ember traces it roots back to SproutCore[2] in the JS framework pre-historic era of 2010. And the same way PostgreSQL was seen as a second-tier or only "historically significant" open source database, the PostgreSQL team just kept at it, toiling away year after year, steading churning out awesome code and excellent documentation, getting better and better with each release. Like clockwork. In the same way PostgreSQL is now, finally, enjoying more popularity and getting the recognition (long overdue in my opinion) for the awesome platform that it is, I expect that in time more developers will come around to appreciating Ember. The Ember leadership is definitely approaching the project and the processes around it like they intend to be not just relevant but pushing the boundaries for a long time to come. For one example this boundary pushing, you should not miss @tomdale's talk at ReactConf about GlimmerJS (the view layer extracted from EmberJS). It is, in my humble opinion, simultaneously mind-blowing and and inspiring.[3] [1] link [2] link [3] ▶ this video

Strongly recommendsView on HN
Keynote - JSON Graph: Reactive REST at Netflix54:58

Keynote - JSON Graph: Reactive REST at Netflix

Association for Computing Machinery (ACM)
41K views • 11 years ago
React.js Conf 2015 - Hype!31:17

React.js Conf 2015 - Hype!

Meta Developers
108K views • 11 years ago
Netflix JavaScript Talks - Async JavaScript with Reactive Extensions28:39

Netflix JavaScript Talks - Async JavaScript with Reactive Extensions

Matt Marenghi
69K views • 12 years ago
ElixirConf 2019 - Day 1 Morning Keynote - Brian Cardarella, Luke Imhoff, Paul Schoenfelder1:11:55

ElixirConf 2019 - Day 1 Morning Keynote - Brian Cardarella, Luke Imhoff, Paul Schoenfelder

ElixirConf
8K views • 7 years ago
React.js Conf 2016 - Lightning Talks - Elie Rotenberg4:40

React.js Conf 2016 - Lightning Talks - Elie Rotenberg

Meta Developers
4K views • 10 years ago
"Controlling Time and Space: understanding the many formulations of FRP" by Evan Czaplicki40:55

"Controlling Time and Space: understanding the many formulations of FRP" by Evan Czaplicki

Strange Loop Conference
69K views • 12 years ago
Dan Abramov: Beyond React 16 | JSConf Iceland33:25

Dan Abramov: Beyond React 16 | JSConf Iceland

JSConf
139K views • 8 years ago
Erlang Factory SF 2016 Keynote  Phoenix and Elm – Making the Web Functional55:28

Erlang Factory SF 2016 Keynote Phoenix and Elm – Making the Web Functional

Erlang Solutions
23K views • 10 years ago
Solid Ground // Saša Jurić35:15

Solid Ground // Saša Jurić

EMPEX Conference
14K views • 9 years ago
ElixirConf 2018 - Keynote - Chris McCord57:50

ElixirConf 2018 - Keynote - Chris McCord

ElixirConf
32K views • 8 years ago
Web Development in Emacs, Common Lisp and Clojurescript - Emacs SG1:18:42

Web Development in Emacs, Common Lisp and Clojurescript - Emacs SG

Engineers.SG
14K views • 10 years ago
Let's prototype a JavaScript JIT compiler!1:21:25

Let's prototype a JavaScript JIT compiler!

Andreas Kling
49K views • 3 years ago
The Truth about Rust/WebAssembly Performance29:47

The Truth about Rust/WebAssembly Performance

Greg Johnston
218K views • 3 years ago
CheerpX: a WebAssembly-based x86 virtual machine in the browser, Yuri Iozzelli37:11

CheerpX: a WebAssembly-based x86 virtual machine in the browser, Yuri Iozzelli

WebAssembly NA
7K views • 6 years ago
Jordan Walke - React to the Future36:45

Jordan Walke - React to the Future

ReasonConf
48K views • 6 years ago
Servo Architecture: Safety and Performance45:05

Servo Architecture: Safety and Performance

linux conf au 2017 - Hobart, Australia
12K views • 9 years ago
Hacker Way: Rethinking Web App Development at Facebook44:36

Hacker Way: Rethinking Web App Development at Facebook

Meta Developers
900K views • 12 years ago
Lin Clark - A Cartoon Intro to Fiber - React Conf 201731:48

Lin Clark - A Cartoon Intro to Fiber - React Conf 2017

Meta Developers
216K views • 9 years ago
Hey Underscore, You're Doing It Wrong!36:31

Hey Underscore, You're Doing It Wrong!

InfoQ
141K views • 13 years ago
Jake Archibald on the web browser event loop, setTimeout, micro tasks, requestAnimationFrame, ...35:12

Jake Archibald on the web browser event loop, setTimeout, micro tasks, requestAnimationFrame, ...

JSConf
808K views • 8 years ago