Virtual DOM Performance

Cluster centers on debates about whether Virtual DOM (as used in React and similar frameworks) is faster than direct DOM manipulation, questioning performance benefits, diffing overhead, and comparisons to vanilla JS or alternatives.

📉 Falling 0.4x Web Development
4,559
Comments
20
Years Active
5
Top Authors
#3021
Topic ID

Activity Over Time

2007
4
2008
19
2009
46
2010
51
2011
77
2012
135
2013
220
2014
227
2015
415
2016
346
2017
288
2018
298
2019
362
2020
377
2021
376
2022
314
2023
399
2024
288
2025
293
2026
24

Keywords

vanilla.js CSS infernojs.org JS LISP IS HTML KISS github.com JSX dom virtual react js faster html declarative update browser manipulation

Sample Comments

peheje Feb 12, 2019 View on HN

Virtual Dom faster than direct manipulation? Source please.

EGreg Jan 28, 2015 View on HN

Can someone explain to me why virtual DOM is faster than DOM implementations of browsers?

mosdl Jul 18, 2021 View on HN

You do know the vdom eventually has to change the DOM right? In the end the vdom always will have to do more work than regular dom manipulations.

untog Nov 3, 2016 View on HN

Virtual DOM is "just because"? Huh, guess I imagined those performance benefits.

kevingadd May 19, 2019 View on HN

You overestimate the cost of modern DOM operations. It's a battle between your virtual DOM (to optimize DOM operations without lots of diffing overhead) and the native DOM (which is frequently a bunch of JS that can get inlined and avoid duplicate work)

dym_sh Dec 16, 2022 View on HN

VirtualDOM is why.vanilla.js is better

tomaszs May 13, 2020 View on HN

Touching DOM is an expensive operation. Think about the virtual DOM as a double buffer.

mgummelt May 11, 2020 View on HN

Can you give an example of a problem that would take significantly longer solving with React than with DOM manipulation?

aitchnyu Aug 20, 2024 View on HN

This is supposed to work with "light" dom right? Will it update fast like a vdom framework?

cesarvarela Aug 20, 2021 View on HN

Won't the diffing algorithm prevent a DOM update anyway?