Hacker News new | ask | show | jobs
by lomnakkus 4094 days ago
It's not the "process-per-tab" thing per se that's important. It's just that (as I believe I mentioned in my OP) Firefox starts to just constantly consume non-trivial amounts of CPU after some amount of time[1]. Not sure why it does this, but process-per-tab would at least mitigate the problem by offloading the whole "free resources" problem to the OS (which must be able to do these things reliably).

(I have oodles of memory and CPU, so it's not just a lack-of-resources problem.)

[1] EDIT: I'm talking about something like 30-50% of a single CPU. In extreme cases it would use 100% of one CPU, but those are admittedly outliers.

1 comments

While it would be nice for Firefox to have something in-place like per-process tabs that could mitigate the problem, I think what really needs to happen in this case is that they fix the underlying issue - which, true enough, might be a while; it doesn't happen for me, even though I leave Firefox open for about a month at a time (rebooting on patch Tuesday), so I assume it isn't easily reproducible and therefore might go some time without being fixed. Even if you had per-process tabs, I'd expect that one tab would still be using 30-50% of the CPU and thus be a major nuisance, even though it might make the rest of the browser more usable.
It's completely trivial to write a "consumes-100%-CPU" JS script. I'm sure people usually don't do it intentionally, but I happened to encounter two such scripts on two separate domains today[1]. The surprising thing is Firefox managed to kill the first one, but not the second one -- after being completely unresponsive for 30s, mind you. It just hung when I pressed the "Stop script" (or whatever the button was labeled). Had to kill the whole FF process and restart it, being quick to close the two tabs that were causing trouble.

This is absurd. Apart from anything else FF needs to be better at protecting its users, and that includes separate-process-per-tab. (Ideally, it should be sandboxes, but honestly I'd settle for "separate processes" at this point in time.)

[1] One of them was http://www.xojane.com/