3 ms·
> As a personal preference, I like my browser (and most of my applications) to be a single process. Honest question: Why is this your preference? What differen
by RussianCow 10y ago
> As a personal preference, I like my browser (and most of my applications) to be a single process.
Honest question: Why is this your preference? What difference does it make whether an app is using 1 process or 10 behind the scenes?
- kansface 10y agoI use tab tree and typically have a couple of hundred open tabs...
- RussianCow 10y agoBut that doesn't really answer my question: Why does it matter if each one uses its own process?
- Sylos 10y agoA separate process has an overhead over just using a separate thread. If you put each individual tab into an individual process, you will have this overhead for each individual tab, meaning that you're much more limited in the total number of tabs that you can have, no matter what those tabs have loaded.
- RussianCow 10y agoIs that overhead inherently high, or does it just happen to be high given browsers' current implementations? My understanding is that the inherent overhead of an OS process is fairly low, and that it would be possible to implement process-per-tab in an efficient way, but I don't know enough about the low-level details of how that works.
- kodablah 10y agoDepending upon your operating system of choice, there are many things that are easier to apply to single processes as opposed to multiple (killing, affinity/priority, sandboxing/permissions, etc). Also, anecdotally I've found there is overhead for each tab process (of which I may have a ton of very tiny ones in my tree tabs). One of my big use cases is that I want to embed the browser in my software. Granted Gecko is not very embeddable in its current state, but the general move towards multi-process browsers often prevents my app from being self-contained (e.g. Electron apps). There are tradeoffs. If all of the evergreen browsers are headed this route, so be it, I just want to know.
- gcp 10y agothere are many things that are easier to apply to single processes as opposed to multiple (killing, affinity/priority, sandboxing/permissions Sandboxing is easier with more processes, at least if the processes are split up to make this easier. One of the reasons for e10s is to allow for sandboxing, so it is now easier to apply sandboxing rules to Firefox. anecdotally I've found there is overhead for each tab process (of which I may have a ton of very tiny ones in my tree tabs This is understood and one reason why Mozilla is conservative here.