List diffing is done even in svelte at runtime. Keys are used the same way as any other frameworks or frontend libraries, virtual DOM or reactive.
And yet Svelte is faster than React in pretty much every benchmark I’ve seen.
That makes sense though right? One would assume that shadow dom and dom would be slower than direct dom manipulation.
I'm not sure that's a fair assumption, one of the original sells of a shadow dom was that manipulting the dom directly is extremely slow, so doing as much work away from it is faster.
Because React's model requires tracking the entire DOM tree for changes and rewriting whole branches where a change is detected.