Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. Jemalloc 5.4.0(github.com/jemalloc ↗)
    36comments
  2. The scourge of x86 emulation(fex-emu.com ↗)
    20comments
  3. Astra for Law(openai.com ↗)
    519comments
  4. Bonsai 2 27B: Near-Lossless Compression in a 9x Smaller Footprint(prismml.com ↗)
    127comments
  5. Bend – A language that blocks AI mistakes via proof, on CPU and GPU(bend-lang.com ↗)
    215comments
  6. Qwen 3.8 Omni Flash(qwen.ai ↗)
    78comments
  7. When the fractional part of a float fixes your shader(crocidb.com ↗)
    1comments
  8. Hister: A private search engine for the pages you visit and the files you keep(github.com/asciimoo ↗)
    163comments
  9. Wax motor(wikipedia.org ↗)
    69comments
  10. Pre-Greek: The lost language hidden within Ancient Greek(linguisticdiscovery.com ↗)
    33comments
  11. Fujitsu launches made-in-Japan next-generation CPU FUJITSU-MONAKA(global.fujitsu ↗)
    227comments
  12. A heap overflow and SSO misconfiguration to compromise OpenAI internal repos(hacktron.ai ↗)
    144comments
  13. Shapelearn Qwen 3.8 27B (13.1 GB VRAM)(byteshape.com ↗)
    7comments
  14. How to Write with an LLM(sockpuppet.org ↗)
    91comments
  15. Ask A Monk – A digital wilderness for thoughts with no immediate answer(askamonk.online ↗)
    23comments
  16. Why Does the Universe Expand?(cosmicave.org ↗)
    50comments
  17. Flet 1.0 – Build cross-platform apps in Python(flet.dev ↗)
    56comments
  18. Telstra outage: The night a network decided the year was 2006(netnod.se ↗)
    23comments
  19. Diplodocus, Long Thought Exclusively American, Turns Up in Spain(sci.news ↗)
    37comments
  20. Speeding up gearhash on ARM64(sam.dev ↗)
    discuss
  21. Apple detectives solved mystery of ancient tree and rewrote the history of fruit(scientificamerican.com ↗)
    9comments
  22. Why I didn’t sign the Fields medallists’ letter(gowers.wordpress.com ↗)
    366comments
  23. Fixing an NZXT Signal 4K30 part 2: the green/pink video bug(downtowndougbrown.com ↗)
    10comments
  24. CrowdSec Source Code Leak(crowdsec.net ↗)
    46comments
  25. The most important product decision is what you don't build(liamnugent.me ↗)
    36comments
  26. Show HN: Snapdrop: Instantly share files between devices. No setup, no signup(snapdrop.me ↗)
    34comments
  27. Infinite-Parameter LLMs: Generating and Adapting Weights from Live Data(arxiv.org ↗)
    39comments
  28. How do we prevent mathemathics from devolving into the Medieval Era of secrecy?(mathoverflow.net ↗)
    105comments
  29. How Uber Protects Against Retry Storms(uber.com ↗)
    41comments
  30. Khipu (Quipu) Field Guide(khipufieldguide.com ↗)
    discuss

Multiprocess Firefox

286 pointsby 11y agodeveloper.mozilla.org
164 comments
11y agoHN ↗

Finally some movement on this! It really feels like an inferior experience in 2015 when your browser freezes from an unresponsive javascript in another tab.

11y agoHN ↗

Currently, Firefox Nightly uses one process for the browser UI and a separate process for web content. However, one web content process is shared by all tabs. So slow JavaScript in one tab won't block the browser UI, but it will block web content in other tabs.

You can change this by increasing the "dom.ipc.processCount" preference in about:config, but there are still some known bugs with multiple content processes in desktop Firefox. There will be more work on multiple content processes in the future.

11y agoHN ↗

A browser being built from the ground up around one process per tab has an easier time implementing said feature than one with years of history? Who would've thought‽

11y agoHN ↗

The fact that they spent years arguing against its necessity rather than working on it certainly didn't help.

11y agoHN ↗

And yet if you read the comments in this thread there are still people arguing against its necessity.

11y agoHN ↗

Or IE7 circa 2006. IE7 separated its UI and browser content in different processes. IE8+ group several tabs into one process when passing a threshold. This is much better for battery life compare to Chrome process-per-tab.

11y agoHN ↗

IE7 or IE8 introduced multi-process sandbox in Vista (not on XP). Afterwards, Google did the same with their first Chrome release.

In both IE 8-11 and Chrome 1+ there are several tabs per sub-process. Chrome comes even with its own "Taskmanager" where you can see which tab sits in which process and how many resources it takes. You can find the Taskmanager in the Chrome's "Tools" sub-menu.

11y agoHN ↗

Yes. Exactly like that. Firefox is damn near a full decade behind the curve.

11y agoHN ↗

Multiprocess isn't some magical panacea, its use is essentially to contain buggy code which shouldn't exist in the first place (this is true for its use as introducing extra security context for page content as well as its improvements to robustness against hangs). In both instances, a safer implementation language, or moving rendering and JS interpretation off the UI thread could be said to be far more elegant solutions. Mozilla is about a decade ahead of the curve here, with Rust and Servo providing both.

11y agoHN ↗

This. I am a SW tester and regularly use all the major browsers. I frankly do not see any lack in the current non-multiprocess FF in terms of the majority of browsing scenarios. If you really want the browser to be the operating system multi-processing is important, but for those not as interested in Google's agenda it isn't nearly as pertinent.

11y agoHN ↗

Really? I switched to FF from Chrome and it's my #1 gripe. I can't load a YouTube video without the entire browser freezing, it's ridiculous.

11y agoHN ↗

Are the freezing YouTube videos using Flash or HTML5 video? What OS are you on?

11y agoHN ↗

Buggy code shouldn't exist. Buggy code exists. When the buggy code in question isn't written by the browser then it's up to the browser to properly deal with that buggy code. Firefox doesn't. Other browsers do, but Firefox doesn't. Thus as a user I can either use Firefox and have a bad time or not use Firefox and have a good time. The choice is easy.

Maybe Mozilla is planning for the future better than all others. Perhaps in another 10 years Firefox won't be a shitty user experience. I will gladly switch if that becomes the case. I'm not holding my breath.

11y agoHN ↗

It's not that it's a full decade behind the curve, it's a decade behind where your perceived curve. There are advantages and disadvantages to both monolithic kernel and microkernel operating systems^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H browsers.

11y agoHN ↗

Not for me, I have barely had any crashes or freezes with Chrom(ium).

11y agoHN ↗

How much will process-per-tab increase memory usage?

11y agoHN ↗

This is multiprocess, but not process-per-tab. There is still a single rendering process for all tabs, at least for now.

11y agoHN ↗

But the ultimate plan seems to be to have process-per-tab. The article states: "In future iterations, we expect every browser tab to run in its own process."

11y agoHN ↗

The problem with e10s (Electrolysis, codename for multiprocess Firefox) is it's actually less concurrent and runs far worse than normal Firefox, at least currently. It's downright unusable.

11y agoHN ↗

This is the exact opposite of my experience with current nightly. The browser feels very snappy and I have yet to see memory usage climb above ~350 MB with a multitude of JavaScript heavy tabs open. (Although I don't know if e10s is directly responsible for the latter.)

11y agoHN ↗

Switching tabs is just awful. If one page is busy loading something, I want to switch to another tab and see what's there, but instead I get to stare at the word "Connecting..." for several seconds. I just feel like I'm waiting for the browser to catch up all the time.

11y agoHN ↗

Thanks for the link. It's almost certainly one of my addons that's causing the trouble, but I like my addons!

11y agoHN ↗

It may have less performance for various reasons, but it can't be less concurrent by definition. Previously there was no concurrency.

11y agoHN ↗

Yes, and I believe that before the layout didn't happen concurrently with other stuff in the browser. It was called on a change and the rest of processing waited. Is that not right?

11y agoHN ↗

Goodbye RAM :) Or better for RAM, since I can now selectively kill and resume processes?

Oh, I see it's not one process per tab. So does anyone know how I can more easily survive on 2GB with many tabs, other than by constantly killing processes?

11y agoHN ↗

I think I'd rather have multiprocess Firefox, even if I have to be a bit more judicious with my tab usage. I don't really know if having 40 tabs open is useful for me, or if it just makes me scatterbrained.

11y agoHN ↗

Doing any kind of web research for work is effectively a breadth-first tree traversal. Remembering all the higher level nodes, when you're ready to go the next level deep, would be a nightmare. My brain couldn't handle that, but tabs solve it effortlessly.

So I'd say that I keep many tabs open for the exact opposite reason. It enhances what I can do, due to the limitations of my brain.

Within a few decades, I expect for the concept of open tabs and bookmarks to merge. We'll be keeping far more tabs open, and flipping between them effortlessly, or scrolling back to that snapshot in time effortlessly.

I imagine closing tabs will be being like closing Emacs buffers. In practice, you practically never have the need to close an Emacs buffer, for anything you might have a small chance of wanting to work on again soon.

11y agoHN ↗

My strategy is to periodically close Firefox and reopen it, to "hibernate" the tabs I'm not currently using.

Between lazy tab restore and Chrome's process per tab memory overhead, Firefox is currently waaay better than Chrome for those of us coping with RAM Deficit Disorder and O(e^x) tab syndrome; I hope when the Fox gets process-per-tab they don't close that gap.

11y agoHN ↗

Multiple processes does not necessarily mean increased memory usage. I'm a little surprised at how many misinformed comments there are like this.

11y agoHN ↗

The problem is this: Chrome. Which, last time I checked, often ends up with >100MB private working set per tab.

And given the amount of dev time that's gone into Chrome / Chromium, it doesn't exactly set a good precedent.

Also, you're missing that there are a number of things that have to be duplicated in a multiprocess model that you only need one of in a multithreaded model. For instance: the JS heap, which has a reasonable amount of overhead.

Some things can be shared between processes like they can be between threads, but not everything.

11y agoHN ↗

As far as I understand it, Firefox already have separate JS heaps since a few years back via the compartments model¹.

1: https://blog.mozilla.org/nnethercote/category/compartments/

Edit:

A quick, 100% scientific™ test:

  Content processes: 50
      Sum: 1858.6
      Max:   42.72
  Average:   37.172

  Content processes: 10
      Sum: 791.96
      Max:  88.96
  Average:  79.196

  Content processes: 5
      Sum: 624.1100000000001
      Max: 137.68
  Average: 124.82200000000003

  Content processes: 1
      Sum: 453.89
      Max: 453.89
  Average: 453.89

Based on running the following script on a freshly generated about:memory profile:

  var max = 0;
  var sum = 0;
  var vals = $$('span[id^="Web Content"][id$="explicit"] span.mrValue');
  for (let vi = 0; vi < vals.length; vi++) {
  	let v = parseFloat(vals[vi].textContent);
  	sum += v;
  	max = Math.max(max, v);
  }
  console.log('Content processes:', vals.length);
  console.log('Sum:', sum);
  console.log('Max:', max);
  console.log('Average:', sum/vals.length);

This is with ~400 tabs opened but in "unloaded" state. Only 5 pages were actually fully loaded.

50 processes caused stuttering when scrolling in the tab bar. 10 & 5 processes felt smooth and allowed tab titles of background tabs to load in quickly during startup. 1 process took forever to actually load in the tab titles of background tabs on startup.

Setting changed via: about:config?filter=dom.ipc.processCount

11y agoHN ↗

Compartments are not quite what I'm talking about.

I'm more talking about metadata / caches. There's a fair bit of stuff that can be global with a single process that cannot be with multiple processes. Sometimes you can use shared memory tricks, but not always.

Also: I wasn't aware there was that much of a memory penalty. Yow.

11y agoHN ↗

I really hope Mozilla keeps NoScript alive. .. Please help the maker get it ported to support Multiprocess Firefox.

11y agoHN ↗

Is NoScript really at risk? That would be a big deal.

11y agoHN ↗

Yea the creator is asking for funding to port. He is just waiting for Mozilla to deliver which they said the were going to do.

11y agoHN ↗

Yep, add-ons that connect background logic and "on-site" logic are going to have a lot of issues. Some APIs change from sync to async (which is good anyway). Some others are replaced or removed.

11y agoHN ↗

Interesting -- I figured a multiprocess Firefox would only arrive once Servo was finished. Or are these two projects complementary?

11y agoHN ↗

The two projects are independent; work on Electrolysis (multi-process Firefox) actually predates Servo. Old versions of mobile Firefox used Electrolysis, for example. But converting desktop Firefox and supporting its whole add-on ecosystem is a huge project, and was also put on hold for a long time.

11y agoHN ↗

They're completely separate projects- Servo is run by different people and is intended more as a research project.

They do overlap in that Firefox is starting to include little bits of Rust for things the the URL parser or image decoders.

11y agoHN ↗

The multiprocess feature was one of the main reasons, I switched to Chrome in the first place. I think, it is just a good idea to keep the things separated, so one tab can not stop the whole browser.

Today, the browser more and more becomes that, which was called "operating system" some years ago. Many applications today run just from the browser and instead of switching apps, you switch the tabs....

So, it is just a good idea in my opinion to upgrade the security of the browser to a higher level.

I am not sure about the memory consumption, but since Chrome seems to have solved this topic, also Firefox should be able to, and maybe it's also time for me to switch back?

11y agoHN ↗

I am not sure about the memory consumption, but since Chrome seems to have solved this topic, also Firefox should be able to, and maybe it's also time for me to switch back?

The reason I never promoted Chrome/ium to my "main" browser, instead using it sporadically whenever I decided I wanted to look at a page that use Flash is basically because Chrome is extremely RAM and CPU hungry in use cases where the number of user tabs are high (not sure what the tipping point is, but I regularly have more than 100 tabs present in my browser -- granted, not necessarily loaded).

Restoring a session with that many tabs basically disables the computer if using Chrome, necessitating a coffee break while pages load. Electrolysis in Firefox retains the lower RAM and CPU usage of the single process model, and also happens to feel much snappier day to day - I would absolutely recommend that you give the latest nightlies a shot -- or Firefox Aurora, which prompts users to turn it on: https://wiki.mozilla.org/Electrolysis#Schedule

11y agoHN ↗

I don't think they've solved it.

I also switched to Chromium a few years ago because it felt way more responsive at the time. Then slowly over time it grew into this beast using over 7GB of memory for my ~50 reasonable tabs (nothing extreme, mostly articles) and it started thrashing my system.

I've just recently switched back to Firefox and opened the exact same tabs: it's using 1.25GB. It feels a little slower at times but well within my requirements of usability. I refuse to waste all my memory for some text in a browser.

11y agoHN ↗

In between e10s, Servo, and the new developer theme in the current Nightly, I feel like Firefox is finally starting to become more competitive to other browsers again. I switched to Chrome because it seemed like Firefox was becoming more and more dated in comparison, both in terms of technology and UI. I still have some gripes with Firefox at the moment, but I'm beginning to seriously consider switching back.

This is obviously anecdotal, but both e10s and the Nightly in general have been remarkably stable during the time I've tested them.

11y agoHN ↗

The nightly builds have to pass a suite of automated tests before they are published. They're not 100% stable but they're not crashy very often.

11y agoHN ↗

I've switched back to Firefox (initially because Chrome kept crashing after 1-2 hours on my machine). Now, I really like it, primarily because I can mess with userChrome.css. But I'm concerned that e10s will reintroduce the instability that caused me to leave Chrome (though I have no real evidence for this).

11y agoHN ↗

I often have hundreds and Chrome just dies when this happens (not to mention it eats tons of RAM -- they need their own MemShrink project). Firefox continues to work and uses far less RAM for the same set of pages.

11y agoHN ↗

The chrome dev tools are way better than in Firefox. It was a reluctant change for me, but my productivity in chrome is way higher.

11y agoHN ↗

I had the same experience though I have to admit that some things in Firefox are better these days, like checking where an event comes from, going really deep into objects, referencing other objects, comparing rather big objects.

The only thing I really miss is a view WebSocket frames. In many other cases I ended up preferring Firefox Dev Tools which I think while a bit harder to get into are more powerful.

But that might really relate to what precisely one is doing. I am not a web designer.

11y agoHN ↗

The only thing I'm missing in either browser is the ability to ignore jQuery as I'm debugging. Stepping in and out of jQuery (and other libraries like underscore) is a pain.

11y agoHN ↗

The Firefox debugger should automatically blackbox minified sources. You can also click on the little eye icon in the debugger panel to manually blackbox sources.

You can also use the developer toolbar to run a command like `dbg blackbox --glob *-min.js` etc. to blackbox a bunch of stuff at once.

https://developer.mozilla.org/en-US/docs/Tools/Debugger/How_...

11y agoHN ↗

This was what motivated me to switch to Chrome several years ago.

11y agoHN ↗

I am testing this , seems okay so far. ps. I also like ,Reader View

11y agoHN ↗

Please please test battery life impact while implementing the Multi-process stuff.

I had to move away from Chrome just on the battery life issue. I suspect (but cannot conclusively prove) that the multi-process crap that Chrome has just drains your battery much faster. And yes I am perfectly aware of the supposed fix in Chrome for the battery killing bug.

11y agoHN ↗

Yea I am with you, I love Chrome and I love that its basically my little mini xplat OS. That of course comes with a price of being a battery hog, if you don't want to use all the benefits Google is cramming into their browser, then I can see the allure of FF. I imagine that represents a fair number of FireFox's users as well. I imagine they won't abandon you friend. :)

11y agoHN ↗

There's no inherent reason why multiprocess would have a significant impact on energy, it just adds a relatively small amount of extra context switching and marshalling to what is already a huge pile of the same (your desktop OS). When the system is idle, or a page is rendered, the difference shouldn't be measurable.

11y agoHN ↗

Hypothetically, 50 processes all running separate unsynchronized wakeup timers and event loops could bring the processor out of sleep 50x more often than a single process.

11y agoHN ↗

I assume all graphics data is sent from the tab sub-processes to the main process (Chrome and similar in IE9-11). Multiprocess is different in Firefox, to get full multiprocess (per tab) we maybe have to wait a bit longer, for a Servo based browser.

Launching processes is a bit expensive especially on WinNT series (up to Win10), but ultimately it's the way to go ("sandbox" = sub-processes with minimum permissions) - even Servo with its Rust language use it as certain parts like the JavaScript engine are still C/C++ based (come from Firefox/gecko) for the near future and can crash.

11y agoHN ↗

Do you have data on Firefox using less battery? I thought the order for energy usage was Safari < Chrome < Firefox (but can't find anything to back that up either).

11y agoHN ↗

Safari is multi-process and it has the best battery life.

11y agoHN ↗

It is a bit of a memory hog as well, but yes, it's battery life is just fantastic.

11y agoHN ↗

Safari makes use of a kernel feature that allows giving some leeway for when the process should be woken up again (eg. from a timer source). That way the kernel can put the CPU to sleep until it can schedule as many processes as possible at once to wake up and perform their work. That way the CPU doesn’t have to wake up all the time to wake up a single process and let it do its work.

11y agoHN ↗

If you were on windows and on chrome before 39 (I think), the battery bug was often because chrome forcibly set the system clock tick rate higher than (arguably) necessary. Should be fixed now though at least according to the bug tracker

11y agoHN ↗

They made some battery improvements on Windows, but it's still a huge battery hog on Mac.

11y agoHN ↗

Battery life on FireFox is good if you use "lazy tabs" feature. If you need more battery, you just restart the browser and it only loads the tabs you open, so the old ones won't have JS working.

11y agoHN ↗

For the first time in years, the other day, I left Firefox open overnight. I use a proxy at work for Firefox due to strict filtering on our primary connection. I was monitoring the amtrack debacle in Philadelphia. I came in the next day to an entirely unresponsive Firefox. I had purposely gone to the home page before leaving to avoid bashing the processing with the live stream. Still, after ~12 hours of being on the cnn.com home page - with NO other usage - Firefox had become unusable. Chrome - with its ~20 normal and ~13 incognito tabs were as stable as they were 3 days ago.

I want (and do to an extent) to love Firefox. It was what at one time what expressed to me that there was an alternative to ie. But, I now, in the real world (at least the world I inhabit) can not find it to be better than chrome in any instance. From dev tools to performance. I had no intention of trying to test the differences; I happened to be using ffx for the proxy reason and was saddened to see it had crashed the following day.

Here's to hoping this speaks to progress in this regard.

(Speaking from OS X)

11y agoHN ↗

Just remember that anecdote != data and all that. My ff gets restarted in two cases - ff or kernel gets security patch. That sometimes means a month of no restarts. (With maybe 30+ tabs in different groups open)

11y agoHN ↗

Same here. I keep sessions open for months at a time, with heavy tab churning (some days I have 30 open, then I close 10, open 20 more, etc).

11y agoHN ↗

FF on Windows (work) is rock solid for me, while on Mac (home) it becomes unusable (too slow) after a few days, and also is a memory hog. I do keep 100s of tabs open on both, although most of those are usually not loaded.

11y agoHN ↗

Now if I can only fix the wobbly address bar that changes size depending on Back/Forward availability.

11y agoHN ↗

Can you please post a bug (with screenshots, list of add-ons installed, and any custom browser css tweaks) to https://bugzilla.mozilla.org/ and CC :callahad in Bugzilla?

Those sorts of fit-and-finish bugs really bother me, and I'd love to figure out how we can fix that one for you.

11y agoHN ↗

Thanks for the offer. But I believe that the decision to remove the Forward button when there is no 'Forward' history was a design decision. Unfortunately, it has the unpleasant effect of resizing the address bar as well. So as you click through tabs, or click links, the address bar keeps resiing depending on the state of the history in that tab.

These 'design' decisions are quite silly IMHO. But I will find the original bug report and CC you on it.

11y agoHN ↗

From the experience I've had with Chrome, I would say that process per tab is overhead. Sure, there are some benefits from having a few processes that are managing different parts of the system, but not hundreds of processes just for browsing. The way I use Firefox is that having 50 or more tabs open is normal for me, sometimes there are even hundreds of them. Currently Firefox works great and although there are some unresponsiveness during some workflows, they are not so annoying.

I am really worried about this change because I have used Firefox since its version 1.5 and am very familiar with all its problems and successes through the years.

11y agoHN ↗

The way I use Firefox is that having 50 or more tabs open is normal for me

I've never understood this. Isn't that what bookmarks are for?

11y agoHN ↗

Often you need to preserve some state that is lost when using bookmarks (e.g. scroll position, a confirmation message that will be lost on refresh, a paused game/video etc.)

11y agoHN ↗

Bookmarks, tabs, pinned tabs, etc. all sit at different places on the same continuous spectrum of UIs for saving web pages for later. Once you implement unloading of background tabs (which you can in FF via add-ons), they can start to look a lot like bookmarks.

11y agoHN ↗

You don't need to use an add-on (anymore?) for keeping them unloaded, although you do need one to get a more manageable user interface. When you have more than about 1000 tabs, startup end closedown get rather slow though.

11y agoHN ↗

For Chrome, there is this great extension called "Tabs Outliner". Gets work done really great! Pity that after so much time there is no FF equivalent...

11y agoHN ↗

With bookmarks you have to put additional time for organization and saving them. When I am researching something, I prefer just opening a bunch of tabs and they may stay open for quite a long time. When I am done, I close all of them. The main sites that I use daily, are usually bookmarked, yes.

11y agoHN ↗

It's called tab hoarding and it's a mental disorder, I have it too.

11y agoHN ↗

I'm also a very heavy tab user but I refuse to call it a mental disorder. It is simply an aspect of a workflow among another dime dozen. Web page hoarding may be a disorder though, but in this case it'll be disorder regardless of you're piling them on tabs, bookmarks or Pocket.

11y agoHN ↗

It's like a super convenient temporary bookmark, without any of the hassle of bookmark management.

I currently have 80 tabs open, and process-per-tab is not something I'm looking forward to.

11y agoHN ↗

I have 9 workspaces, two screens each, in a 3x3 grid. Most are browser - terminal pairs. 4 tabs per workspace is fairly common. They're grouped with working checkouts by task. I'm not quite at 50, but getting there. For example:

1. Support Ticket workspace -- one for RT, more tabs for related research

2. internal wiki workspace -- one for the wiki, another for the wiki's github repo, another for a local build of the wiki

3. email / meetings -- one window for calendar+tasks, one for email, with and 1-2 extra tabs for documents or links sent my way

4. Site Reliability -- one for nagios alerts, one for site testing, one for munin, and one for github PRs

5. management -- weekly management meeting agenda google doc, a key report or two, and maybe a slides for a presentation I've been asked to give or review

Edit: IMO, I'm perfectly happy to give up Memory if it means one tab crashing doesn't kill the entire process. Even at 100MB per tab, 5GB is like under 50 bucks.

11y agoHN ↗

I run something similar with 4 workspaces. I solved the "browser crashes taking down everything" problem by setting up 4 different profiles in firefox. Create a batch script to fire up firefox in the right profile for the right workspace.

It's worked well for me, when flash inevitably crashes it doesn't take the other workspaces with it, but it's perhaps not the most elegant of solutions.

11y agoHN ↗

I currently have 2014 tabs in my session (almost all unloaded, using around 2GB of ram that I wouldn't use otherwise). I had 1600 tabs a few days ago. They are links I clicked on in other apps or browsed to over the past few months.

When I get a chance to plow through a few dozen/hundred of these tabs I can read/view them and close them very quickly. Notice all the UI stuff I don't have to do: I never had to perform the the actions of saving a bookmark, opening a list of bookmarks, opening a specific bookmark, or deleting a bookmark.

I clicked a link once upon a time, and I will close the tab some time in the future.

When I switch to and close ten tabs, all I have to do from a UI perspective is type q ten times.

11y agoHN ↗

Wh-whoa . . . I think you just set some sort of a record over there.

11y agoHN ↗

In terms of UI stuff, how do you find a tab among a thousand?

When the tab page title shrinks and all I see is favicon, I feel lost.

11y agoHN ↗

You can of course search open tabs from the address bar. But at least my workflow is to browse through the old tabs and read / close one by one.

Also in Firefox the tabs never shrink to just favicon, the tab heads become a scrollable list. Much better than Chrome imo.

11y agoHN ↗

Unless you specifically tweak the UI to enable really small tabs, which is among the first things I do on a fresh install. Favicon + a small number of pixels for padding, way way less than Google allows me to get away with! Slap on a bunch of tab groups and I'm set.

I'm quite comfortable with a tab group filled to the point where the tab bar only displays favicons, but hasn't gotten to the point where it lets me scroll yet. That way I can rely on spatial memory to get to the right tab, without necessarily seeing the title!

Of course, searching for the right tab is an option, just like you said. I love the fact that Firefox also activates the correct tab group automatically.

11y agoHN ↗

I use Tree Style Tab for this, although I hate the actual tree functionality - it just happens to be the only reasonable vertical tab solution I've found. Unfortunately, it seems to get a little bit laggy with more than a couple hundred tabs.

11y agoHN ↗

I don't quite have that many tabs open but I find that grouping tabs into separate browser windows and taking advantage of your window manager goes a long way.

11y agoHN ↗

ctrl-shift-e should open a canvas like area where you can group tabs. Similar to a file folder, I prefer it to bookmarks

11y agoHN ↗

Interesting, but seems to be very basic. I still prefer using a wm. I can use different layouts, group windows into hierarchies, display them side by side, take advantage of tiling, use workspaces and have configurable keys for each of these actions. You know, functions that a wm is built for.

And I can always switch to a different wm altogether if I'm not comfortable.

11y agoHN ↗

Once you get used to the tab groups they can be very powerful. I use them for contexts myself; one for casual browsing, one for development for client x, one for client y etc, one for research, and the list goes on.

Obviously you can easily achieve the same thing in separate windows as well, so ultimately I suppose it doesn't make a huge difference, but it's the way I find makes for the biggest difference in separating workspaces.

11y agoHN ↗

I said tab but I don't actually use the UI concept of a "tab", though I could by M-x tab-bar-mode, because you're right it doesn't scale very well to large numbers, in my experience

I use buffers (in Conkeror). Buffers are just tabs without the actual tab UI. So unless I'm switching buffers, the only visible UI difference between having one buffer and 2000 buffers is the string "[2011/2011]" in my status-line showing my current buffer number and total number of buffers.

I can press C-x b (switch-to-buffer, I bind to M-a) to show a filterable list of my current buffers (favicon, url, title). I can type part of the url or page title (even when tab is unloaded) to filter my buffer list before switching to one. I can also navigate tabs "spatially" (from tab #2 to either tab #1 or #3) or by recently used (bury/unbury-buffer or switch-to-recent-buffer which shows buffer list in most recently used order) or by domain (next-buffer-same-host) or by whether the buffer is playing audio (switch-to-audio-buffer).

Also, in the vast majority of cases I only access recent tabs near the end of the list. I can press 9 or 0 to go to my second-to-last or last buffer.

11y agoHN ↗

The favicon is ok. I close them when there is no space to display the favicon.

11y agoHN ↗

In all honesty chrome is by far and away the worst at handeling large numbers of tabs of all the browsers (bar perhaps version of IE).

11y agoHN ↗

Chrome is pretty special. "Oh, you have too many tabs to fit, time to hide the favicons."

11y agoHN ↗

Ironically, Chrome on Android handles this better than Chrome on the desktop. I have 15 tabs open on desktop Chrome right now, and it's getting a bit cramped. My Note 4? 33.

11y agoHN ↗

How do you find out the number of open tabs?

11y agoHN ↗

Wow, I thought I was in the top "tabbers" with my 300 tabs or so (well, 300 at work and 300 at home), but I see I am far from that !

Nonetheless, that's why I like firefox, I can do that, not so possible with Chrome. So like other said, I really really hope that they take into account this use case.

11y agoHN ↗

Why don't you use something like Pocket? It seems like you are the ideal use case for their software. I use it religiously.

11y agoHN ↗

I do use pocket. Some of these links will end up in pocket, when I get around to looking at them closer if I decide they are long and I want to read them on my mobile devices.

11y agoHN ↗

What extension do you use to unload your tabs? Or keep them unloaded, not sure of your workflow in that regard.

11y agoHN ↗

I use one called UnloadTab. Works a treat, and does exactly what it says on the box!

11y agoHN ↗

I use Session Manager [1] for this. It has a "restore tabs on demand" option. I usually end up restarting the browser every week or two, either due to Windows updates, Firefox updates, or getting enough active tabs that the browser crashes. When it reloads, I only have one loaded tab, and start the cycle over again.

I think the lazy loading on session restore has been built in to Firefox for a while now, but I still use Session Manager. It shows me the number of tabs in the session before I choose to restore it, and if I hit a problematic page that is making the browser immediately crash, I can remove that page from the session before restoring, as well.

[1]: https://addons.mozilla.org/En-us/firefox/addon/session-manag...

11y agoHN ↗

I like being able to switch to any of my tabs using the exact same UI technique as I would for any other tab, and press qqqqqqqqqq to view and kill many of tabs in succession.

11y agoHN ↗

I used to do somethingng similar but I've been using reading lists and a little more self control to manage most of my favs now.

11y agoHN ↗

So what you want is for bookmarks to be automatically created and accessible from the top menubar.

11y agoHN ↗

Yes, that's called "tabs". Especially now that tab content is not autoloaded and autorendered. The bookmark metaphor simply doesn't fit everyone's mental model; tabs work much better.

11y agoHN ↗

It depends on what you do. Doing research requires a lot of resources (tabs) especially if you do it in an non-linear way. Consuming a content requires only on tab.

I open and use dozens of tabs (up to 100, then I bookmark all with one click and close all). But all tabs are active in memory in IE11 or Chrome so I can switch between them (sure I trade GBs of RAM for time, but that's okay). Firefox unloads tabs, so it reloads the page - that's better if you re-open Firefox as it only loads one tab instead of loading all tabs like in Chrome/IE but worse if you have it open and actually work in the browser. So for me it's a trade off, and I find it good I have a choice for different tasks I can choose the best way.

11y agoHN ↗

Ever since the dialup era, when all we had was "open in new window", I would browse by reading down a page and opening interesting-looking links in new windows and letting them load while carrying on with the original page.

Tabs are a good LIFO stack of things which are currently "live", or at least not dealt with yet. It's easier to navigate than history or bookmarks. You could argue that at some point tabs should "spill" into bookmarks, but that requires making a decision.

11y agoHN ↗

"There are multiple competing factors when it comes to choosing the right number of processes.

- For security, more processes is better; one per tab is probably ideal.

- For crash protection, ditto.

- For responsiveness, one process per CPU core is probably best.

- For memory usage, one process is probably best."

as a dev wrote in the mailing list: https://groups.google.com/forum/#!topic/mozilla.dev.platform...

For various technical reasons Firefox e10 will support a few sub-processes in near future, but nothing is set in stone. Rust based Servo supports (afaik) dozens of processes, as we know it from Chrome and IE.

11y agoHN ↗

With crashes, though rare in Chrome, when one does happen it usually kills all my Chrome windows instead of a single tab as is touted :/

11y agoHN ↗

It depends which process crashes. Usually and rare a sub-process crash which means a few tabs need a page reload. If your main process crash (which should be very very rare) then I would suspect you have a faulty memory module in your device or you have little free memory or your operating system has not optimal scheduler (e.g. server OS on a desktop).

11y agoHN ↗

I've seen it irregularly on multiple machines, Windows 7, Windows 8 and now Mac OS X. It's actually really soured me on the whole idea of a multi-process architecture. I understand the theoretical benefits, but I don't see messages that a particular tab crashed that much more often than that the entire browser crashed.

11y agoHN ↗

"Little free memory" means that Chrome has eaten all my ram though.

Chrome is really lagging behind Firefox in this, as it has no backgrounding / unloading process that I'm aware of to maintain a reasonable memory footprint.

It also attempts to render every tab at once when restoring after a crash - another obvious problem.

11y agoHN ↗

Let me guess, it's a process like Flash that kills all of your tabs?

That's why having proprietary technology in browsers sucks because you can't really implement it the way you want to (as a browser vendor).

11y agoHN ↗

If you can reproduce that, I'm sure the Chrome team would be very, very interested in that.

11y agoHN ↗

Or maybe not, I think they have automated crash reporting (I even used their library, breakpad) but my Chrome has been very consistent in crashing on Windows wakeup for over a year now.

11y agoHN ↗

This summer I'm going to be working on an implementation of software based fault isolation for my masters degree. We are looking to sandbox a web server without the need to partition via processes and incur expensive interprocess communication and context switching. I don't see why it couldn't work for Firefox either.

Here is the original paper: https://crypto.stanford.edu/cs155/papers/sfi.pdf

11y agoHN ↗

Is Firefox really better than Chrome here, or is it worse because it is enabling bad user behavior?

11y agoHN ↗

Guys please don't do this, I hate chrome,not because it is almost perfect internet browser, just because it is almost an entire OS runs on top of my own OS(I just want a browser not os).I am afraid Firefox will end up where chrome going right now.

11y agoHN ↗

At this point pretty much all (modern) browsers except Firefox have this.

11y agoHN ↗

Wouldn't too many processes bloat memory? I hope it will be configurable to have some balance.

11y agoHN ↗

I hate FLASH when using with firefox. This is great news for all Flash-Hater :)

11y agoHN ↗

Why is it so? Flash is already in a separate process since '11 or '12 and I don't think electrolysis will bring any benefit in that regard.

11y agoHN ↗

Yes, but if there is a reason for Firefox to crash, it's due to the Flash Plugin.

11y agoHN ↗

Please elaborate, because IIRC the whole reason for offloading flash to a separate process was letting it crash without affecting the main process, and it fulfilled its duty every the time I've experienced a Flash crash.

11y agoHN ↗

Tested it today and the performance improvement seems very significant. Good job Mozilla (wow, I haven't said that in a while...)

11y agoHN ↗

I hope this doesn't lead to the overhead seen in Chrome. The overhead is constant and all the time; the browser is far from crashing all the time. I'm honestly very skeptic about the tradeoff here. And with the move to HTML5 and away from binaries ran by a browser engine, I'm unsure about the necessity due to current security issues in modern browsers too. The security nightmares in browsers always seem to have been related to ActiveX, NPAPI, running black boxes in general.

I actually think this was a far better idea (but ironically unthought of) during the days of ActiveX and a much less sensible idea today in 2015.

11y agoHN ↗

So they basically want to be Goolge Chrome? hmmm...

11y agoHN ↗

Other browsers are multi-process too? hmmm...

11y agoHN ↗

I've been using Chrome since Paul Irish started working on the Dev Tools. I used to have crashes when i had 120 tabs, but with Flashblock and uBlock i've had none.