3 ms·
> IPC is very expensive. I have trouble taking that at face-value; Linux seems to do OK with it and, for a while, there was a little-bitty web browser for Macs
by thaumaturgy 15y ago
> IPC is very expensive.
I have trouble taking that at face-value; Linux seems to do OK with it and, for a while, there was a little-bitty web browser for Macs called Stainless (http://stainlessapp.com/ http://stainlessapp.com/) that did one-process-per-tab, and it seemed quite performant. Better, in fact, than all other browsers at the time. Unfortunately, it hasn't been updated in about a year now...
> Note that chrome's default is not per-tab either.
Oh yeah, somebody pointed that out to me back on that Reddit thread, too. I forgot. Still, I really think it should be, and that it should be considered standard practice for all browsers.
A while back, my frustrations with browsers resulted in a quickie project that I called "Crash My Browser" (still up at http://crashmybrowser.com/ http://crashmybrowser.com/). I haven't tested it with recent browsers, but, once upon a time, at least one of the tests on that page could completely cripple not just that page's tab, but the entire browser, for most browsers. Since nobody seemed to get why that was a really stupid design flaw, I figured a demonstration was in order.
- rpearl 15y agoI know I'm a bit late with my reply, but I don't follow hacker news all too much. That said, in general, IPC is slower than threading for the simple reason that processes are in different address spaces. When you perform an IPC call, you must take a TLB hit. With communication between threads, there is only context switching overhead (assuming no preemption between calls.) Chrome has a few different ways to do tab communication, none of which are truly "one process per tab".