HackerTube

The Truth about Rust/WebAssembly Performance

Greg Johnston2 HN recommenders · recommended in 2 months, 2023–2026
YouTube
talk · intermediate · 2023–2026 on HN

Leptos creator Greg Johnston examines Rust/WebAssembly frontend frameworks against JavaScript frameworks using the JS framework benchmark. He argues that WASM is no longer too slow for DOM-heavy rendering.

Cited as evidence that DOM access is not the bottleneck for WebAssembly, and as an explanation of signals-based updates versus virtual DOM.

8 comments from Hacker News

@theironhammer2023-07 · in “Ask HN: Real world Svelte speed difference compared to virtual DOM frameworks?”

▶ this video This video might be helpful. Leptos uses Signals, borrowing ideas from SolidJS to update the DOM. There's no VirtualDOM like React. Svelte also doesn't use a VDOM. When there's a state change React has to rerender the entire VDOM tree and the diff it with the real DOM, whereas using the Signals model those frameworks make the change directly in the real DOM. I'm not sure how Svelte manipulates the DOM exactly but I it's similar to how it's done with Frameworks that use Signals such as Leptos and SolidJS. I would say Developer velocity is key if you're a developer. Svelte is a big winner here as it's mental model is easier to understand than React's.

Recommends View on HN
@pdpi2023-04 · in “Can Rust Beat JavaScript in 2023?”

Greg Johnston, author of the Leptos framework, did a pretty good video about this a few weeks ago[0]. The TLDR is (of course): it depends. WASM has no native access to the DOM, so all DOM manipulations from wasm-land have to go through JS bindings with all the (de)serialisation costs that go with crossing the language boundary. That eats up a lot of whatever performance gains you'd see from rust-on-wasm for pure compute. 0. ▶ this video

Recommends View on HN
@tcfhgj2026-03 · in “Making WebAssembly a first-class language on the Web”

> no DOM access meant the only viable use cases were compute-heavy workloads like codecs and crypto, no, it didn't mean that, because the overhead is not a deal breaker: 1) you don't have to do the glue code (libs can do it for you) 2) there's overhead due to glue, but the overhead is so small that WASM web frameworks easily can compete with fast JS frameworks in DOM heavy scenarios. Source: Analysis of the creator of Leptos (a web framework based on WASM): ▶ this video

@tcfhgj2026-02 · in “Farewell Rust”

the JS layer is slow, indeed, but it shouldn't be that much slower that it meaningfully impacts frontend apps A demonstration of that by the creator of Leptos: ▶ this video

@jbjohns2024-10 · in “Platform Strategy and Its Discontents”

The founder of Leptos makes a pretty good argument [1] that the bottleneck for WASM isn't really the DOM and that they are already faster than some popular JS frameworks even with the current constraints. [1] ▶ this video