Live data from Hacker News

Multiprocess Firefox

billmccloskey.wordpress.com

11–20 of 126 posts

Re: Multiprocess Firefox

#11
post #7
post #5

Earlier quoted context omitted.

It's always been a better sandbox model, but message passing is still a pain to orchestrate compared to shared-memory data structures.

Personally I prefer message passing (over pipes). Shared memory (be it shm/heap in same process) with associated mutexes, semaphores, locks and the like is a right pain to get right without introducing race conditions, deadlocks etc. Go is interesting as it uses "micro threads" (goroutines) and message passing CSP style but I haven't found a use for it yet.

This is why Mozilla are investing heavily in Rust, so that they can use its semantics to share memory in a safe way.

Re: Multiprocess Firefox

#12
post #5
post #3

I remember the days when for multiprocessing was the only option and multi-threading was only available on a few systems. Now with the security exploits many plugins have exposed and the way a misbehaved thread can bring the whole application down, we are moving back to the multiprocess model as a better sandbox model. Old becomes new as they say.

It's always been a better sandbox model, but message passing is still a pain to orchestrate compared to shared-memory data structures.

The biggest issue is performance. Although you might be able to work around it with local RPC calls and passing memory ownership as offered by Windows, Mac OS X, QNX and Minix. To quote the ones I am familiar with.

Just imagine the performance impact of something like Eclipse if each plugin was a separate process using message passing.

Maybe it is doable, not sure. Anyway I rather favor safety over performance.

Re: Multiprocess Firefox

#13
post #7
post #5

Earlier quoted context omitted.

It's always been a better sandbox model, but message passing is still a pain to orchestrate compared to shared-memory data structures.

Personally I prefer message passing (over pipes). Shared memory (be it shm/heap in same process) with associated mutexes, semaphores, locks and the like is a right pain to get right without introducing race conditions, deadlocks etc. Go is interesting as it uses "micro threads" (goroutines) and message passing CSP style but I haven't found a use for it yet.

> Go is interesting as it uses "micro threads" (goroutines) and message passing CSP style but I haven't found a use for it yet.

But is also has shared heaps by default. So you still have to rely on everyone being an "adult". I wish shared heaps would have been a specially enabled feature not the default. But I guess the language was position to compete with C++ and Java and isolated heaps would have provided a performance decrease in benchmarks -- and thus people's willingness to adopt it.

For large concurrent systems, safety and fault tolerance often leads to their failure but it is kind of hard to encode that in a quick benchmark to impress people.

Here are a few languages/systems with default isolated heap runtimes between concurrency units: Dart's isolates, Erlang's processes, Nimrod's threads, Web Workers in modern browsers. Anyone know of more?

Re: Multiprocess Firefox

#14
To try Electrolysis (multiprocess) in Firefox Nightly: in about:config, toggle the browser.tabs.remote pref and restart (still work-in-progress, don't expect a fully working browser).

Edit: you will lose your current session

Re: Multiprocess Firefox

#15
My biggest problem with Firefox is its startup time. It takes much longer to start the firefox.exe then IE and Chrome which are both very fast. I am using Win7 on i7-3960X, intel SSD, 16 GB RAM. If I install any plugin then this thing is much worst. (For this reason I am not using any plugin which is a big loss).

It is weird that this issue is seldomly mentioned, but I think that it is much more important then the other performance benchmarks such as javascript performance.

Re: Multiprocess Firefox

#16
If you'd like to try this out on Windows without affecting your main Firefox profile, we just released portable packages of the Firefox Nightly and Aurora builds at PortableApps.com yesterday: http://portableapps.com/news/2013-12-04--firefox-aurora-27-a...

They run self-contained in their own directory so you can quickly extract them to your Desktop or portable device. The installer downloads the latest build as you install it and configures it for standalone use. When you're done testing, you can just delete the FirefoxPortableNightly directory.

Bonus: The Nightly branch also has the new Australis UI redesign that they've been working on and is worth checking out.

Re: Multiprocess Firefox

#18

My biggest problem with Firefox is its startup time. It takes much longer to start the firefox.exe then IE and Chrome which are both very fast. I am using Win7 on i7-3960X, intel SSD, 16 GB RAM. If I install any plugin then this thing is much worst. (For this reason I am not using any plugin which is a big loss). It is weird that this issue is seldomly mentioned, but I think that it is much more important then the ot…

I am curious if the lack of such kind of complaint happens because usually people start their browser at morning and keep it open. I prefer to frequently close my browser and reopen when needed.

Re: Multiprocess Firefox

#19

My biggest problem with Firefox is its startup time. It takes much longer to start the firefox.exe then IE and Chrome which are both very fast. I am using Win7 on i7-3960X, intel SSD, 16 GB RAM. If I install any plugin then this thing is much worst. (For this reason I am not using any plugin which is a big loss). It is weird that this issue is seldomly mentioned, but I think that it is much more important then the ot…

Interestingly, that complaint no longer exists for me. Firefox really starts instantly. Which is unfortunate, as it's the first program in my task bar and I'm still used to use Win+Shift+1 to start a new instance. Which, if Firefox isn't already running, results in it asking whether I want to start in Safe mode because I was holding shift.

Re: Multiprocess Firefox

#20

My biggest problem with Firefox is its startup time. It takes much longer to start the firefox.exe then IE and Chrome which are both very fast. I am using Win7 on i7-3960X, intel SSD, 16 GB RAM. If I install any plugin then this thing is much worst. (For this reason I am not using any plugin which is a big loss). It is weird that this issue is seldomly mentioned, but I think that it is much more important then the ot…

I am curious if the lack of such kind of complaint happens because usually people start their browser at morning and keep it open. I prefer to frequently close my browser and reopen when needed.

I think you underestimate how good modern operating systems are at memory management. I have 30+ tabs open (rather than bookmarking) and Firefox hasn't been closed for days.

Spending developer time on things like start up and installers which are just 1% of what software does is not very productive. Yes its good to look at start up every now and again, however it shouldn't be the main focus of any project.

Post reply on HN