Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It’s the extra API and layout rules. A lot of UI toolkit supports some version of xml for declarative UI programming. And they will create a widget tree to match it. But they’re far simpler than the DOM and therefore faster.

Also think all the web subsystem that has been added over they years. Every electron app is bundling those in, even the inspector. It’s shipping a whole VM with your code. Containers have at least the decency to strip things down to the bare minimum, but no one is thinning chromium to only what they need.





Yep. Chrome contains:

- HTML rendering - which is insanely complex to do efficiently for arbitrary web apps.

- Video conferencing software

- A graphics engine. Used for rendering web content, canvas2d, webgl, webgpu and video encoding & decoding for a bunch of formats. It also has a bunch of backends (eg CPU, Metal, Vulcan, etc)

- JS, and every feature ever added to JS.

- WASM compiler, optimizer & runtime

- Memory manager, process isolation per tab, and all the plumbing to make that work.

- The Inspector - which contains a debugger and most of an IDE for JS, WASM, CSS and HTML.

- So much interop. Like chromecast support, http1, http2, quic, websockets, webtransport, webrtc, javascript remote debugger protocol, support for lots of pre-unicode text formats, DoH, webdriver, and on and on.

- Extension support

- Gamepad drivers, web bluetooth, webserial, midi support

What am I missing? Probably lots of stuff. I have no idea how much each of these components contributes to browser bloat. But all up? Its a lot. Chrome is bigger than most complete operating systems from a decade or two ago. Browser vendors have to pick between fast, simple and fully featured. Chrome sacrifices simplicity every time.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: