Live data from Hacker News

Multi-process Firefox brings 400-700% improvement in responsiveness

techcrunch.com

31–40 of 346 posts

Re: Multi-process Firefox brings 400-700% improvement in responsiveness

#31
post #7

I switched to Firefox from Chrome about 12 months ago. It isn't as good as Chrome, but I was trying to reduce my Google dependencies. It has been mostly fine (except for an annoying OS-X multi-screen bug where it screws up the sizing). I was really looking forward to this feature to help close the gap on Chrome performance. Until August (I think Firefox 48.x), when it became unusable on any site with... something. I'…

It's tedious but I'd do some basic troubleshooting like embargo all addons, not merely disable, and trash the user prefs. If you use sync with a Firefox account, it'll have your history and bookmarks. Then add back add ons one at a time. I'm on 48.0.1 on Linux (on a Mac!) and I'm not having the problems you're describing.

Re: Multi-process Firefox brings 400-700% improvement in responsiveness

#32
post #28
post #19

“We can learn from the competition,” said Dotzler. “The way they implemented multi-process is RAM-intensive, it can get out of hand. We are learning from them and building an architecture that doesn’t eat all your RAM.” That's the money quote here. I've been waiting for this for a long time actually. Every browser I've tried except Firefox just basically eats all my RAM and other app performance (e.g. compiling stuff…

Can someone describe what the "architecture that doesn't eat all your RAM" here is? Is it possible that it will inadvertently provide weaker security protections between tabs than the more naive and RAM-intensive architecture?

Duplicated memory and just overhead from running separate processes (Chrome), as opposed to shared memory and less overhead from a single process (IE? Old FF).

As for security, no, unless there's some unknown vulnerability now (or that they create), that will be ported over and somehow more effective between (potential) processes. So, I doubt it.

Re: Multi-process Firefox brings 400-700% improvement in responsiveness

#33
post #14

This should come as no surprise. It has always been an epic architectural mistake to use the same single non-reentrant Javascript engine to both render the UI and run JS for webpages in Firefox. This change will finally undo that huge mistake made so very long ago.

JavaScript was little more than a toy scripting language used to animate stuff and change layouts when html/Css wouldn't fit for the greatest part of firefox's early existence. At the time it was probably the appropriate decision.

Now, it's a huge burden on Firefox and it's good to finally see progress on this front.

Re: Multi-process Firefox brings 400-700% improvement in responsiveness

#34
post #7

I switched to Firefox from Chrome about 12 months ago. It isn't as good as Chrome, but I was trying to reduce my Google dependencies. It has been mostly fine (except for an annoying OS-X multi-screen bug where it screws up the sizing). I was really looking forward to this feature to help close the gap on Chrome performance. Until August (I think Firefox 48.x), when it became unusable on any site with... something. I'…

For me, disabling JS by default was the culprit. I only turn it on for sites that actually need it, and it seems to work much better. YMMV of course

NoScript allows you to turn it off/on by domain.

Re: Multi-process Firefox brings 400-700% improvement in responsiveness

#35

Instructions for enabling this feature (via about:config) are provided in the author's prior article on the topic: https://techcrunch.com/2016/06/10/mozillas-multi-process-arc...

Just so that people don't have to do digging in that article. In about:config, set browser.tabs.remote.autostart to true and check about:support for Multiprocess Windows (might need to restart).

For now though you'll have to disable any plugins for it to work which can be a bit of a handicap. But... almost there :).

Re: Multi-process Firefox brings 400-700% improvement in responsiveness

#36
post #6

Does anybody know more about how Mozilla manages experiments? I'd always assumed that all users downloaded an identical binary and got the same behavior. How do they assign 10% of their users to an experimental group? Is it possible that two users will see different functionality when they are both using the same OS and release, say Firefox from the latest version of Ubuntu?

As with most native A/B tests, the binary probably ships with code for both functionalities. When the browser launches for the first time they generate a random number, and if it's below a certain threshold you get variant A, above you get variant B. The information gets persisted on disk so it remains unchanged across sessions.

It seems that there is some communication back to Mozilla, since they claim that they can increase or decrease the number of users in each group over a week; that seems unlikely to come in the form of a new binary.

Re: Multi-process Firefox brings 400-700% improvement in responsiveness

#37
post #28
post #19

“We can learn from the competition,” said Dotzler. “The way they implemented multi-process is RAM-intensive, it can get out of hand. We are learning from them and building an architecture that doesn’t eat all your RAM.” That's the money quote here. I've been waiting for this for a long time actually. Every browser I've tried except Firefox just basically eats all my RAM and other app performance (e.g. compiling stuff…

Can someone describe what the "architecture that doesn't eat all your RAM" here is? Is it possible that it will inadvertently provide weaker security protections between tabs than the more naive and RAM-intensive architecture?

One thing that firefox does well is suspend pages you are not using and likely saving the state of the appllication to the disk. Another thing can be for when multiple pages use the same or similar javascript/css/external respurce files, they only need to be loaded once into memory. Another thing canbe that certain javascript globals would only be loaded when the getter asks for them. Something like AudioContext and RTCPeerConnection are not widely used, by changing the name in the global space to a getter that loads the libraries instead of providing them on start may reduce load.

There are many things that can be done

Re: Multi-process Firefox brings 400-700% improvement in responsiveness

#38
post #23
post #19

“We can learn from the competition,” said Dotzler. “The way they implemented multi-process is RAM-intensive, it can get out of hand. We are learning from them and building an architecture that doesn’t eat all your RAM.” That's the money quote here. I've been waiting for this for a long time actually. Every browser I've tried except Firefox just basically eats all my RAM and other app performance (e.g. compiling stuff…

A few years ago if you'd told me FF would be the RAM-sensitive browser, I'd have laughed you off the internet.

And they're still at it, too: https://areweslimyet.com/

Re: Multi-process Firefox brings 400-700% improvement in responsiveness

#40
post #7

I switched to Firefox from Chrome about 12 months ago. It isn't as good as Chrome, but I was trying to reduce my Google dependencies. It has been mostly fine (except for an annoying OS-X multi-screen bug where it screws up the sizing). I was really looking forward to this feature to help close the gap on Chrome performance. Until August (I think Firefox 48.x), when it became unusable on any site with... something. I'…

Funny, I have the same lockups with Chrome. Middle-clicking a new link (to open in a new tab) freezes the entire browser (all tabs) until the new tab is done loading. I believe it's a extension problem (uBlock Origin, EFF Privacy Badger), but I don't really want to get rid of any of them.
Post reply on HN