From ffa554de9007d1ccac363eaaf41f0ed811763c1a Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Wed, 26 Dec 2018 18:35:19 -0500 Subject: [PATCH] virtual DOM post --- .../blog/2018-12-26-svelte-css-in-js.md | 2 +- ...2018-12-27-virtual-dom-is-pure-overhead.md | 148 ++++++++++++++++++ site/src/routes/blog/[slug].html | 25 ++- .../media/rethinking-best-practices.jpg | Bin 0 -> 76513 bytes 4 files changed, 171 insertions(+), 4 deletions(-) create mode 100644 site/content/blog/2018-12-27-virtual-dom-is-pure-overhead.md create mode 100644 site/static/media/rethinking-best-practices.jpg diff --git a/site/content/blog/2018-12-26-svelte-css-in-js.md b/site/content/blog/2018-12-26-svelte-css-in-js.md index 2d36e2c71d..1c48bcc938 100644 --- a/site/content/blog/2018-12-26-svelte-css-in-js.md +++ b/site/content/blog/2018-12-26-svelte-css-in-js.md @@ -19,7 +19,7 @@ Here, we're using [Aphrodite](https://github.com/Khan/aphrodite) to generate sco diff --git a/site/content/blog/2018-12-27-virtual-dom-is-pure-overhead.md b/site/content/blog/2018-12-27-virtual-dom-is-pure-overhead.md new file mode 100644 index 0000000000..b1cea823f1 --- /dev/null +++ b/site/content/blog/2018-12-27-virtual-dom-is-pure-overhead.md @@ -0,0 +1,148 @@ +--- +title: Virtual DOM is pure overhead +description: Let's retire the 'virtual DOM is fast' myth once and for all +pubdate: 2018-12-27 +author: Rich Harris +authorURL: https://twitter.com/Rich_Harris +--- + +If you've used JavaScript frameworks in the last few years, you've probably heard the phrase 'the virtual DOM is fast', often said to mean that it's faster than the *real* DOM. It's a surprisingly resilient meme — for example people have asked how Svelte can be fast when it doesn't use a virtual DOM. + +It's time to take a closer look. + + +## What is the virtual DOM? + +In many frameworks, you build an app by creating `render()` functions, like this simple [React](https://reactjs.org/) component: + +```js +function HelloMessage(props) { + return ( +
+ Hello {props.name} +
+ ); +} +``` + +You can do the same thing without JSX... + +```js +function HelloMessage(props) { + return React.createElement( + 'div', + { className: 'greeting' }, + 'Hello ', + props.name + ); +} +``` + +...but the result is the same — an object representing how the page should now look. That object is the virtual DOM. Every time your app's state updates (for example when the `name` prop changes), you create a new one. The framework's job is to *reconcile* the new one against the old one, to figure out what changes are necessary and apply them to the real DOM. + + +## How did the meme start? + +Misunderstood claims about virtual DOM performance date back to the launch of React. In [Rethinking Best Practices](https://www.youtube.com/watch?v=x7cQ3mrcKaY), a seminal 2013 talk by former React core team member Pete Hunt, we learned the following: + +> This is actually extremely fast, primarily because most DOM operations tend to be slow. There's been a lot of performance work on the DOM, but most DOM operations tend to drop frames. + +
+ Pete Hunt at JSConfEU 2013 +
Screenshot from Rethinking Best Practices at JSConfEU 2013
+
+ +But hang on a minute! The virtual DOM operations are *in addition to* the eventual operations on the real DOM. The only way it could be faster is if we were comparing it to a less efficient framework (there were plenty to go around back in 2013!), or arguing against a straw man — that the alternative is to do something no-one actually does: + +```js +onEveryStateChange(() => { + document.body.innerHTML = renderMyApp(); +}); +``` + +Pete clarifies soon after... + +> React is not magic. Just like you can drop into assembler with C and beat the C compiler, you can drop into raw DOM operations and DOM API calls and beat React if you wanted to. However, using C or Java or JavaScript is an order of magnitude performance improvement because you don't have to worry...about the specifics of the platform. With React you can build applications without even thinking about performance and the default state is fast. + +...but that's not the part that stuck. + + + +## So... is the virtual DOM *slow*? + +Not exactly. It's more like 'the virtual DOM is usually fast enough', but with certain caveats. + +The original promise of React was that you could re-render your entire app on every single state change without worrying about performance. In practice, I don't think that's turned out to be accurate. If it was, there'd be no need for optimisations like `shouldComponentUpdate` (which is a way of telling React when it can safely skip a component). + +Even with `shouldComponentUpdate`, updating your entire app's virtual DOM in one go is a lot of work. A while back, the React team introduced something called React Fiber which allows the update to be broken into smaller chunks. This means (among other things) that updates don't block the main thread for long periods of time, though it doesn't reduce the total amount of work or the time an update takes. + + +## Where does the overhead come from? + +Most obviously, [diffing isn't free](https://twitter.com/pcwalton/status/1015694528857047040). You can't apply changes to the real DOM without first comparing the new virtual DOM with the previous snapshot. To take the earlier `HelloMessage` example, suppose the `name` prop changed from 'world' to 'everybody'. + +1. Both snapshots contain a single element. In both cases it's a `
`, which means we can keep the same DOM node +2. We enumerate all the attributes on the old `
` and the new one to see if any need to be changed, added or removed. In both cases we have a single attribute — a `className` with a value of `"greeting"` +3. Descending into the element, we see that the text has changed, so we'll need to update the real DOM + +Of these three steps, only the third has value in this case, since — as is the case in the vast majority of updates — the basic structure of the app is unchanged. It would be much more efficient if we could skip straight to step 3: + +```js +if (changed.name) { + text.data = name; +} +``` + +(This is, of course, almost exactly the update code that Svelte generates!) + + +## It's not just the diffing though + +The diffing algorithms used by React and other virtual DOM frameworks are fast. Arguably, the greater overhead is in the components themselves. You wouldn't write code like this... + +```js +function StrawManComponent(props) { + const value = expensivelyCalculateValue(props.foo); + + return ( +

the value is {value}

+ ); +} +``` + +...because you'd be carelessly recalculating `value` on every update, regardless of whether `props.foo` had changed. But it's extremely common to do unnecessary computation and allocation in ways that seem much more benign: + +```js +function MoreRealisticComponent(props) { + const [selected, setSelected] = useState(null); + + return ( +
+

Selected {selected ? selected.name : 'nothing'}

+ +
    + ${props.items.map(item => +
  • + +
  • + )} +
+
+ ); +} +``` + +Here, we're generating a new array of virtual `
  • ` elements — each with their own inline event handler — on every state change, regardless of whether `props.items` has changed. Unless you're unhealthily obsessed with performance, you're not going to optimise that. There's no point. It's plenty fast enough. But you know what would be even faster? *Not doing that.* + +The danger of defaulting to doing unnecessary work, even if that work is trivial, is that your app will eventually succumb to 'death by a thousand cuts' with no clear bottleneck to aim at once it's time to optimise. + +Svelte is explicitly designed to prevent you from ending up in that situation. + + +## Why do frameworks use the virtual DOM then? + +It's important to understand that virtual DOM *isn't a feature*. It's a means to an end — the end being declarative, state-driven UI development. Virtual DOM is valuable because it allows you to build apps without thinking about state transitions, with performance that is *generally good enough*. That means less buggy code, and more time spent on creative tasks instead of tedious ones. + +But it turns out that we can achieve a similar programming model without using virtual DOM. And that's why Svelte exists. \ No newline at end of file diff --git a/site/src/routes/blog/[slug].html b/site/src/routes/blog/[slug].html index 96195bd35f..10ce7c6bb0 100644 --- a/site/src/routes/blog/[slug].html +++ b/site/src/routes/blog/[slug].html @@ -46,13 +46,17 @@ color: var(--second); } - .post p, + /* .post p, .post :global(p) { max-width: var(--linemax) - } + } */ .post :global(figure) { - margin-top: 1.6rem + margin: 1.6rem 0 3.2rem 0; + } + + .post :global(figure) :global(img) { + max-width: 100%; } .post :global(figcaption) { @@ -64,11 +68,26 @@ } .post :global(blockquote) { + max-width: none; border-left: 4px solid #eee; background: #f9f9f9; border-radius: 0 var(--border-r) var(--border-r) 0; } + .post :global(code) { + padding: .3rem .8rem .3rem; + margin: 0 0.2rem; + top: -.1rem; + background: #f4f4f4; + } + + .post :global(pre) :global(code) { + padding: 0; + margin: 0; + top: 0; + background: transparent; + } + .standfirst { font-size: var(--h4); color: var(--second); diff --git a/site/static/media/rethinking-best-practices.jpg b/site/static/media/rethinking-best-practices.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fdbae403de42ae84080e7d914cde4eb74a888e59 GIT binary patch literal 76513 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