The problem with Chrome/Chromium is it's basically just a huge ton of scaffolding designed to layer an IPC framework on top of more layers of scaffolding on top of more layers that wrap blink (i.e. WebKit) which still has lots of code going back to KDE from the 90s.
The Chromium codebase has no less than 5 different string classes, is riddled with layers and layers of virtual function calls wrapping older interfaces, has an antiquated threading model that defines a "Main thread" because various ancient WebKit code scattered throughout the code base relies on global variables, etc.
It's pretty surprising to me that it works as well as it does.
Pr process tabs seems to be the core reason why, as this allows the Chrome UI to be "responsive" even if one of the tab processes keep chugging the cycles like it a drunk during happy hour. This in turn because we now have 4+ cores that can do 2+ threads each in an effect to keep the marketing interpretation of Moore's law valid.
The Chromium codebase has no less than 5 different string classes, is riddled with layers and layers of virtual function calls wrapping older interfaces, has an antiquated threading model that defines a "Main thread" because various ancient WebKit code scattered throughout the code base relies on global variables, etc.
It's pretty surprising to me that it works as well as it does.