Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

“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) goes down the toilet.

Then on the other hand FF has not been so snappy and responsive traditionally. So responsive + soft on RAM is the combination I've really been waiting for. Let's hope they can deliver.



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/


Maybe I'm misreading things but it looks like it's been constantly getting worse since 2012?


The FAQ says:

TP5 loads 100 popular webpages, served from a local webserver.

I don't know if that means the test pages are up-to-date copies of real-world pages or not. On one hand, real-world pages have certainly been getting heavier, and it would bear mentioning if that fact was not reflected in this test. On the other hand the graph becomes really hard to interpret if the test suite isn't a constant.


The actual pageset appears to live on build.mozilla.org[1], but is down atm (for me at least). The actual list of pages is on the areweslimyet github repo[2].

[1]https://build.mozilla.org/talos/zips/tp5.zip

[2]https://github.com/mozilla/areweslimyet/blob/a42e69eaac4c764...


It seems like it would be a really good idea if they also displayed a line for a baseline version of Firefox, holding the version constant so you can see how the webpages have changed.


They're getting worse at a linear pace, while hardware improves exponentially. Effectively that's a pretty good improvement each year.


Not only is this false, but completely ignores troves of older hardware existing in people's homes that has to run browsers just as well.

The average consumer hardware improves at nowhere near exponential rate (although I guess it depends on the timescale and your willingness to fudge the graph to sparse data points).


>completely ignores troves of older hardware existing in people's homes that has to run browsers just as well.

The performance has gotten worse for users of a computer from 2006, but it has improved for users of ten-year old computers (since a ten-year old computer in 2012 would have been from 2002). If you assume that a computer is less likely to be used the older it gets (and that this rate is roughly stable), then I am not ignoring older hardware at all.

>although I guess it depends on the timescale and your willingness to fudge the graph to sparse data points

thus is the nature of all real-live long-term trends. If you pick a sufficiently small timeframe, they never work.


> The performance has gotten worse for users of a computer from 2006, but it has improved for users of ten-year old computers

I'm not sure I follow that logic.


I'm saying that the performance of today's firefox on 2006 hardware is better than the performance of 2012's firefox on 2002 hardware. I consider that to be a better measure than to compare both releases on 2006 hardware.


Thanks, makes much more sense stated this way, I also didn't initially understand your point.


Thanks for clarifying. If you know anyone willing to donate 2002 era hardware, I'd be willing to do some tests and benchmarks.


I used a 2006 laptop until the beginning of this year and prior to that has a 2000 desktop. Can confirm.


Hardware does not get exponetially better. Maybe it did in 90ties and 00ers. Right now hardwardware gets slimmer, less power consuming and cheaper. But not better. My 12 year old (then mid-end gaming pc) is pretty much exactly as fast as my current, 2(?) year old office machine. (x264 and other mulit-threaed cpu benchbmarks) But it costs a fraction and uses next to no energy.

/edit: Yes this is wrong. I made a mistake. My "gaming" desktop is "only" 8 years old. It has a 4 core AMD processor. It's on par with current atoms.


An extremely low-energy atom, that runs at half the frequency might have about the same performance as a top-of the line 12-year old Pentium 4, but that's not a meaningful comparison in my eyes, considering that we still have high-end gaming PCs today.

A 11 year old Pentium 4 @3.4GHz has a passmark score of 401. A modern 2-core $40 Celeron G1840 @2.80GHz has a passmark score of 2984. And that's among the cheapest processors you can get as end-user.

1: https://www.cpubenchmark.net/cpu.php?cpu=Intel+Pentium+4+3.4...

2: https://www.cpubenchmark.net/cpu.php?cpu=Intel+Celeron+G1840...


>that's not a meaningful comparison in my eyes, considering that we still have high-end gaming PCs today.

It is meaningful when you consider what the average user is purchasing. Back then you had to purchase good stuff to run the latest office apps, etc. It was common that the only thing needed to get a friend into the gaming world was the purchase of a graphics card. Now most casual users do not have anything close to what is offered in high-end gaming PCs.


Right now buying anything that doesnt have an atom gets you a literal monster. I've had a "decent" laptop (entry level i3 and entry level discrete AMD spits with disgust GPU) from 2010 and anything for the same price in 2016 will get you an order of magnitude more powerful machine


Love the redundancy of "90ties", but what's the etymology of "00ers"?


I pronounce "00ers" as "zeroes"

Maybe it should be "00es"?


Noughties


Augts?


But then, following the pattern it'd be 00ts or 00ghts...


two-thousanders? Not sure if anybody actually says that


Your 12 years old pentium 4 (or whatever) likely has 1 core and 1 thread, which is immensely noticeable even compared to the lower end modern 2 cores/4 threads machines (let alone 4/8 mid level modern desktops).


That's impossible. My 200$ is faster than your 12 year old computer.


That's impossible. My 200$ phone is faster than your 12 year old computer.


Actually hardware has regressed, because most traffic is from mobile devices.


Getting worse at displaying the same webpage, while actual webpages become heavier. Here I am with 6 opened tab and 800mb of RAM taken by Firefox.


memory bandwidth matters too, not just size


Except mobile hardware which does not. Power usage is always a concern.


>Except mobile hardware which does not.

Source?

RAM available in mobile phones seems to grow exponentially [1]. Power efficency of processors also seems to grow exponentially [2] (does anybody have a source for ARM processors?).

[1]: https://i.imgur.com/AWkmMJc.png (note logarithmic scale) [2]: https://www.karlrupp.net/2013/06/cpu-gpu-and-mic-hardware-ch...


Power usage has little to do with memory usage. In fact, if the browser is using more RAM as a cache, it won't hit persistent storage as much, which actually increases battery life.


If that exaggerated RAM use causes other more intensive apps and their data to be evicted, that can cause a much more significant load when the app has to spin up again and re-acquire or re-calculate its state.


The extra chips are not free. What we are seeing is bringing up the latest low power tech into the phones for now. Except RAM has hit maximum densities per chip already or is very close.

Remember that RAM has to be powered on for every refresh cycle...

It is "nothing" compared to screen or radios, but it is there. So you won't be seeing more than one Dram chip in there, footprint notwithstanding.


Browser are caching web content, not much persistent storage content... and the OS does persistent storage caching fine, typically no need to try to add your own (poor) layer to do that.


My hardware doesn't improve exponentially. In fact, my current work laptop has less memory (8G) than my previous one (16G) or previous desktop machine (also 16G). And it mostly works with Chrome, but I stopped using Firefox because my habit of opening dozens of tabs led to stratospheric memory usages that killed even 16G machines. That was somewhere in 2013, looks like it's even worse now?


> I stopped using Firefox because my habit of opening dozens of tabs led to stratospheric memory usages that killed even 16G machines

I don't think that's representative of how Firefox works. I used Firefox similarly in 2013 and didn't see those problems; the users supported by my company, mostly on 4GB machines, also didn't see them.

I have a 112 tabs open right now and Firefox has been running for a couple of weeks, which means thousands more have been opened and closed. It's using 4 GB of memory (EDIT: Which is more than usual, but it's fine with me).


Agree with you here - this is essentially the reason that I don't use Chrome on my desktop (aside from brief testing, or to load up something quickly that requires Flash).

Firefox is still a lot better at RAM and CPU usage when hundreds of tabs are present in the browser. This persists when using e10s.


I see your 112 and raise you a 875. FF worked just fine that too with just a less than 1 GB of RAM. I had to block flash, hand tune some of the cache sizes and have a tab uloader etc. No other browser seemed capable of handling my rather <cough> unique <cough> use case.


If you don't mind me asking, what are you doing that you have 875 tabs open? How are you able to keep track of what you opened, and where etc? I tend to feel anxious and unfocussed when I've got over a dozen or so open - at which point i'll dump some "I'd like to read this" articles into a bookmarks folder which I work through in my down-time, and clean out periodically.


I would like to spend some words saying how good is the tab-unloading thing.

I have an extension that basically unloads a tab (I guess it freezes the state and serializes it to disk) and frees its ram.

It works very well, so well I'd love to use it on my phone too.


Mind sharing the name of the extension? I have a similar usage pattern with hundreds of tabs of open and would find it useful. Thanks.


There are extensions that can search the body of the open but out of view tabs.

I have commented at length why I use so many open tabs. Basically that's my cache-to-do-list. Once I revisit certain tabs enough times they get upgraded to a bookmark. What bookmarks don't do well but tabs do marvelously is preserve the trajectory and context of how I arrived at the page. Very useful to recreate the state when I visit it later.


Firefox has gotten much more stable over recent years in regards to having excessive amounts of tabs open. I can have over 300 tabs open and it's stable (I was using Waterfox when doing this in Windows though).


I have over 300 saved tabs in Firefox on my desktop, and it is stable, but I notice it runs quite a bit slower than when I only have a few open. I really need to start closing some tabs here and there...

It only loads the actual tab when you activate it though, so I don't think all the tabs are being stored in memory, just the ones you activate during a session. I probably actually load about 30 or so during a session, with many more being opened, looked at then closed.

Tab Mix Plus FTW!


What has Waterfox so special? I skimmed it's homepage but it only says "we're fast!", doesn't explain how and why though.


At the time I was using it (about a year ago) it was essentially a 64 bit build of Firefox.


> my current work laptop has less memory (8G) than my previous one (16G)

That indicates really poor buying decisions! I'm curious about why would this happen.


That you for your evaluation of my buying decisions! With absolutely no information except one data point about memory side you were able to conclude they were bad, this is remarkable. Has nothing to do with the point in question (that memory capabilities aren't nearly growing exponentially, not lately) but still very remarkable insight.


I assumed your workplace made the decision and not you. Sorry for appearing to criticize your decisions. I'm still curious why you downgraded to a machine with less memory.


Because they don't make Macbook Air with more memory. 8G is the maximum.


But this renders your original point moot. Memory is still growing, you just chose a lower end laptop. Obviously you would see it decrease. For me, my previous laptop had 8GB and the current one has 16GB. Exponential increase.


There's more and more features every month. Add that to the various performance improvements (that can take a hit on the ram, dependending on how they're implemented), and it becomes a bit more understandable why you would see such an increase.


Interesting choice of words, you would think "performance" improvements would make things better, not worse...

I do get what you're saying though.


You are misreading given that there were big improvements in memory measurment and some of the memory use increase you notice are just firefox measuring better it's own memory


Where are those improvements reflected in the graph?


Well..AWSY started a few years ago and many things happend to firefox since then. I cannot tell you exactly what increase corresponds to a memory measurment improvement but i can point you to the blog of Nicholas Netherote https://blog.mozilla.org/nnethercote/


it makes sense though as more features are in use on the set of tested pages, these will inevitably use more ram.

its good to monitor and ensure that stays within acceptable parameters though, and potentially improved upon again. at least the gain is pretty slow since they "fixed all the stuff"


IIRC, the set of tested pages are a static snapshot; I don't think the machines have general internet access (because that would lead to spurious failures when the other end has problems, which is annoying as that means nobody can check in code).


A few years ago I had a a ptoato android tablet. The thing couldn't play music without stuttering, chrome would take more than a minute to render a page, then another minute if you scrolled.

Firefox was first released for android around the time I bought it though, and turned it into a capable web browsing device.


honestly its been years now that FF is one of - if not the - browser which uses the least amount of RAM.

Its also one of the most energy efficient on most platforms.. (edge is more efficient on Windows, though it does not take into account that the engine is always running even if another browser is in use)


I can second the energy efficient thing, at least in Linux.

I've been tracking lots of programs with powertop, including many browsers, in the quest of an efficient desktop and Firefox is pretty good.

I also appreciate its great plugins. With vimperator I can configure Firefox using a dotfile, and setup lots of neat things like:

1. A ssh proxy mode that also routes DNS queries

set! network.proxy.socks=localhost

set! network.proxy.socks_port=8888

set! network.proxy.socks_remote_dns=true

command -nargs=1 proxy set! network.proxy.type=<args>

2. Site-specific Google searches, with autocomplete for the site URL

command -nargs=+ -complete=url site open google site:<args>

map s :site<space>

All this is really neat functionality, and very simple to achieve. I am waiting for good per-tab sandboxing, but in the meanwhile I have aliased firefox to /usr/bin/firejail so the whole application is sandboxed.

Apologies for the offtopic, but it's really exciting how a program that seemed to have lost development momentum is becoming really great again. Quite close to being the emacs of browsers if you ask me, with so many features and scriptability. Paradoxically you can get best access to these features with a plugin that tries to emulate vi, but you get the idea!


On the other hand, all the inner refactorings happening to Firefox may threaten the addon ecosystem by constraining them Chrome-like. There's no telling if there'll be a vimperator for firefox 50, 55, 60. The way vi emulator addons work for Chrome, it might be a potential travesty.


Could you please give a little more info about ssh through vimperator? Can it do local port forwarding?

I couldn't find much doing a google search for "vimperator ssh".


It can do anything Firefox can, it's just a shortcut using Javascript, nothing Vimperator-specific.


Funniest thing is that FF memory usage didn't go down that much. For me it is even higher.


I'm currently at a little over 1 GB with 8 tabs open.

I really wish I had the option to trade off responsiveness for memory usage by being able to mark tabs as "no background activity allowed" so FF could serialize that content to disk when the tab isn't in focus.


The main reason tabs aren't saved to disk isn't a concern about responsiveness, it is a concern about data loss. You have to be very sure that you restore the state exactly. What if you spent a few hours filling out some government form online, then you went and took a break by watching a few YouTube videos? Memory usage might spike up, and the browser decides to unload the tab with the form. You'd be mad if form state got lost when you switched back.

I've heard that some people set Firefox to not autorestore tabs on load, and then periodically close and reopen Firefox, so their background tabs aren't loaded. Pretty clumsy, but I guess it gets the job done. I don't know if there's any addons that do something similar.


>> by being able to mark tabs as "no background activity allowed"

> What if you spent a few hours filling out some government form online, then you went and took a break by watching a few YouTube videos? Memory usage might spike up, and the browser decides to unload the tab with the form. You'd be mad if form state got lost when you switched back.

GP is talking about actively marking tabs as "no background activity allowed".

I have been searching in vain for something like that: stop scripts in background tabs except for specifically whitelisted pages.

There is absolutely no reason that I can see why every website and their ads should be allowed to roam around freely in the background.

There is however a number of reason why they should not be allowed. Battery life and phishing attempts readily comes to mind.

I guess whoever comes up with a well-working extension for that can easily ask me for USD 30 or even 40 and expect me to be a walking billboard for it ;-)


> I have been searching in vain for something like that: stop scripts in background tabs except for specifically whitelisted pages.

Have you tried UnloadTab?

https://addons.mozilla.org/en-US/firefox/addon/unloadtab/


Ok. Will try. I think I see an issue here where I want to go back to a tab I have open on the train home.

If it is unloaded that means I have to connect to the Internet again to get hold of my page again?

(I'd think what I want is just to pause any javascript or other processing from any webpage that us not focused in the browser and not specifically whitelisted.)


Background tabs already have their timers run less frequently. In Firefox, that was added in 2011 [1]. Certainly further improvements to reduce background tab activity would be nice. One way you can sort of get that effect is to use Reader Mode, on pages where that works.

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=633421


Or you can buy 2GB of RAM with those $30


We've reached a point where a lot of consumer hardware simply can't be upgraded. The ideal of just adding more RAM isn't possible (or perhaps practical in many cases). MBPs can't be upgraded at all these days. My Lenovo laptop can, but going 16 GB -> 32 GB requires far more than $30 since I'd need to buy 16 GB SODIMMs.

That's also a bit beside the point. I have a workstation with 48 GB RAM. I left a browser running in the background and had one tab consume 20 GB on its own before I killed it. Many of these leaks seem to just be unbounded memory growth, so that hypothetical 2 GB you add is going to be eaten up in short order anyway.


The scenario you describe with one tab using 20Gb is "beside the point" and certainly an exceptional situation. I've never seen that happen... I think I've had one Firefox crash this year, and that time it wasn't using all the RAM - it was hogging 100% CPU instead.

Of course the extra 2Gb might help for someone with less than 48Gb in their machine (most of us!).


Well, my point more was apps/sites that go sideways will eat as much RAM as they're allowed to. The 20 GB case was only special in that the leak rate was much higher than most. On a smaller scale, whenever my laptop fan kicked on, I knew I left a Travis tab open in the background somewhere. That was the CPU going into an aggressive GC loop due to the relatively huge amount of memory being used (2 - 4 GB).

But my original point is really that dismissing gross memory usage by saying you can buy more RAM for cheap is no longer accurate. In many cases, your machine's configuration is unchangeable. Getting an extra 2 GB RAM isn't $30, it's the cost of a brand new device. In other cases, where you might have configurable hardware, you often have to buy the largest capacity chip available and the economics get skewed. For SODIMMS, going 8 GB -> 16 GB is reasonably cheap, 16 GB -> 32 GB is fairly expensive.

I'd argue having to do a hardware upgrade for a web app in the first place is a bit silly. There's often very little reason for these apps to be so large in the first place.


It's not the RAM for me (I have 16GB).

It is about things like harrassing my CPU multiple times a minute after my search results have loaded (looking angrily at you googlers, google was the worst offender here it seems! (Windows 10, FF))


More memory doesn't help. I have 64gb and still need to close ff every few days. (Granted I do keep 50-100 tabs open at all times).


FF mobile does this and it drives me nuts. I'll be on 4chan, watch a YT clip, then tab back and FF reloads the original HTML. Apart from being slow (takes a few seconds to rerender it all), it also loses AJAX-loaded data.

My phone reports it has 600MB of RAM free, so I dunno what's causing FF's behaviour here nor how to disable it. I can't always reproduce it, but it happens enough that every browsing session has some sort of frustration.


All the mobile browsers I've tried do this - Firefox, Dolphin, and stock Android. I distinctly remember browsing the web quite happily with Firefox desktop on a machine with 512 MB of RAM as recently as 2008, so I can't help but feel we've gone backwards.


Am I the only one who loves this behavior? I'd be perfectly happy forcing Chrome/Firefox/etc. into a 1GB sandbox and then telling it to "unload tabs on memory pressure." I only use a few tabs at a time; a simple LRU OOM-eviction algorithm should work wonders.


Maybe you're the only one. I hate waiting for a tab to reload from the network unnecessarily, especially on mobile!


"From the network" isn't actually a part of the semantics of this behavior, though. If the page's browser-side cache is still valid according to its original response headers, the browser will just reload the page from cache rather than hitting the network.


Android or iOS? I have no such complaint on Android - I usually load the pages that interest me in separate tabs and then read them offline.


Android. I can do that, but when I return to those tabs, they will reload from a cached version.


If the feature existed and it didn't properly restore form content when I switched back to the tab then I'd call that a bug. :-D


This is the default. If you set it to restore from your previous session on startup (or if it restores your session after a crash, or you choose History->Restore Previous Session), then it will only load tabs when you switch to them.


How about detecting the pages that don't have stateful elements, and then only serializing those?


With applications written in javascript ? Stateful on the client side alone or stateful on both sides ? It wont be safe to assume that state is persisted transparently on the server side. May be they just cache it for a while.

To make this work reliably would be quite difficult.


You could be really conservative: only assume statelessness if the page has no <form> elements and has no calls to the XMLHTTPRequest API (or window.eval).

Or you could be really conservative: only assume statelessness for pages without forms and without any Javascript. (These do exist!)


> These do exist

We have seen things people wouldn't believe. Webpages without any Javascript. Webpages using correct http responses. Watched C-beams glitter in the dark near the Tannhauser Gate. All those moments will be lost in time, here come the transpilers


There are several addons that do this. I think Suspend Tab is the most popular. https://addons.mozilla.org/en-US/firefox/addon/suspend-tab/



I use the same on Chrome, nice memory saver.


Thanks! I'll check that out.


For a reference point on scaling, on a Windows 7 machine that hasn't been shutdown in a week or two, I have a long-running Firefox session with 5 windows and 80-something tabs, and I'm at 1.7 GB. Half a GB of that is being consumed by the Google Music player.


I've noticed Google Play Music is heavy. It can easily consume half a GB or more on my machine. I think at this point the browsers are doing the best job they can but it's pretty telling that it's the web apps/sites we use that cost us memory.


Google Play Music uses Flash in Firefox (but not in Chrome), so part of the memory usage is out of Mozilla's control.


I'm at 2.9G virtual 1.277g resident with about 130 tabs open (yeah, I'm a goofball but I like my tabs). It's pretty responsive on a thinkpad x220 i5-2540M @ 2.6ghz, 8G of ram and an SSD.


Not even criticizing, but how do you manage 130 tabs? How do you find tabs you're looking for? You must have some kind of system!


A few people use Tree-Style Tabs, which organize them as a tree structure, similar to directories. It encourages using tabs instead of bookmarks, which have a terrible UX (in all browsers, not picking on Firefox here).

https://addons.mozilla.org/en-US/firefox/addon/tree-style-ta...


Tree Style Tabs is the primary reason why I stick with Firefox. Without it, I wouldn't even know where to begin managing the relevant sites/info I encounter when reading up on diverging lines-of-thought.

For me, it is /the/ absolute killer feature for browsers.

---Alex


I do that and I regularly hit 1000 tabs. Once a week I close and reopen or it gets too slow.


I do that and I hit 1000 tabs. Once a week I close and reopen or it gets too slow.


Not sure how he does it, but I don't manage those. I just don't close tabs (I usually forget to do it :), so after week or two I end up with 200-300 tabs (my record is 900).

I tried to use chrome once and it ate all my ram, and they were saying it uses less ram then firefox back then.


You can use the Awesome Bar to search open tabs: just prefix your query with '%'.

More search tips can be found here: https://support.mozilla.org/en-US/kb/awesome-bar-search-fire...



Firefox lets you search your open tabs (urls/titles/etc). The simplest way to find the tab you're looking for is to do just that: search.


That's interesting because for me the Windows task manger reports 377MB with 10 tabs open, some of them are news sites that tends to be "heavy".

edit: oh, I'm using ad blocking add-on and maybe you don't, that could be one reason, besides different websites another reason could be that you have the browser open longer than me.


I've 25 tabs open and Firefox is reporting 250MB of Private Use memory use in Task Manager. I do have an adblocker though.

> so FF could serialize that content to disk when the tab isn't in focus

Isn't there an extension (Suspend Tab?) which does this?


Even in an iOS fashion, in the way backgrounded apps work. I don't need tabs consuming memory in the background, and if I did I could white list it as able to run in the background.


I'm curious - what's the benefit of doing this sort of thing at the application level, rather than letting the OS's virtual memory system handle it as usual?


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


If that's that case I much rather my browser eat up more RAM than needlessly write to my SSD.

A lot of the improvement in the reliability of consumer grade SSDs is due to OS improvements in how they manage their write operations to the hard drive. Windows is considerably more conservative in how it uses it's page file and what does it write off to the SSD, linux has also made a lot of improvements in how it uses the swap partition if it uses it at all, other things like having to be able to suspend the PC in "hibernation" mode without actually having to write a "hibernation" file to disk by keeping the CPU at pretty much an off state but refreshing the ram also saves a lot of day to day write operations especially on mobile devices.

So overall I highly doubt that Firefox went with the suspend to disk route, because if it did it would be a pretty big step backwards.

Also as power conservation goes writing to SSD/HDD is more expensive than writing to RAM and keeping it refreshed, so using the SSD as a storage device instead of the RAM can also have negative effects on the battery life of mobile devices.


While I agree that I would rather my browser use more RAM than constantly suspend pages, I disagree with your notion that

>A lot of the improvement in the reliability of consumer grade SSDs is due to OS improvements in how they manage their write operations to the hard drive.

We're talking on the scale of writing 500gb to your SSD every single day for 10 years in order to reach their endurance limit (on average). Writing a few more gb at worst from your browser is hardly going to affect that. It's even doubtful that OS improvements change it much, as Windows 7, which a lot of people are still on, doesn't come SSD optimized.


last time I checked most SSD come with ~72TB warranty. Go above that and you are sol.


And my $800 phone has a 1 year warranty. What's your point? That warranties should equal how long a device actually lasts on average?


Meh. SSD write amounts matter if you're running a datacenter. They don't matter to a normal user on a laptop/desktop using a browser. SSD lifetime simply isn't an issue, as the other commenter pointed out.

Also, from a more philosophical standpoint - this isn't Mozilla's issue. They shouldn't have to worry about conserving SSD writes. That's not their problem. That's the OS / Disk firmware / manufacturer's problem. If I want to write files to the disk at a very reasonable rate, I should feel free to do that.


> A lot of the improvement in the reliability of consumer grade SSDs is due to OS improvements in how they manage their write operations

Do you have any references for this? I don't think I've ever heard a story of a consumer user running out their writes. Not saying it hasn't happened, but it's not enough of a common occurrence to be a major factor in reliability.

In my experience the overwhelming improvement in reliability is in the firmware of these drivers coming out of the perpetual beta phase (and the death of OCZ)


Yes, that is definitely possible. Chrome isolates data as much as possible between processes. A shared cache would be a big improvement in memory usage, but security is the biggest concern.


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.


Chrome uses separate processes for sandboxing purposes, not just for the fun of it. So yes, protecting against "some unknown vulnerability" is the entire point behind it.


As a fun fact, separate virtual machines running under a VMWare ESXi hypervisor—which is about as "sandboxed" as you can get—still share memory: the hypervisor hashes the 'cold' pages of its VMs and, when it finds duplicate page content either within or between VMs, it merges the duplicated pages together into single copy-on-write pages. ESXi has never had a security vulnerability due to this optimization, AFAIK.

Ref: https://labs.vmware.com/vmtj/memory-overcommitment-in-the-es... (search "page sharing")


> ESXi has never had a security vulnerability due to this optimization, AFAIK.

Should be vulnerable to FFS, if I'm not mistaken: http://arstechnica.com/security/2016/08/new-attack-steals-pr...


True! Rowhammer-based attacks are kind of unique, though; I expect they'll be treated as a hardware bug and solved by releasing better hardware, rather than through inventing even more layers of securinoia to keep in mind from now on.

It's sort of like when WebGL was first getting going, and the GPUs of the time didn't expect to be fed shaders directly from potentially-malicious web sources. Rather than severely restricting the WebGL API, we got a new generation of GPUs that fail safe.


> I expect they'll be treated as a hardware bug and solved by releasing better hardware

When Rowhammer was first announced, people said "it's okay, we have ECC". Then ECC was shown vulnerable. "It's okay, vendors have promised to fix it in DDR4", they said. Now DDR4 is out and vendors have not deployed the fixes systematically[1] and you have to benchmark every single RAM stick to make sure you're not vulnerable.

I'd really appreciate software workarounds as long as hardware vendors keep fucking up.

[1]: http://www.passmark.com/forum/memtest86/5395-rowhammer-mitig...


> Duplicated memory and just overhead from running separate processes

fork(2) does COW. With careful design† forking a new process only results in new and modified pages being not shared.

† Hard! But single-process threads + security is hard too.

http://unix.stackexchange.com/questions/58145/how-does-copy-...


Only on Linux, POSIX does not mandate CoW and Windows does not have a similar API.


While not mandatory, I always sort of assumed BSD and Darwin do the same...

Just wanted to point out that memory usage isn't necessarily inherent to multiprocess, but with a sizable portion of users on Windows the point is practically moot anyway.


a) your security should not rely on process isolation. the javascript engine etc. should be secure in the first place. if you can break out of the JS sandbox you can already attack addon scripts (think password managers)

b) hosting some tabs in the same, sandboxed process is still stronger than hosting all of them in the parent process.


So you mean the interpreter should be mathematically proven like SEL4 and generated from the proof? Otherwise I have no idea what "secure in the first place" means.


My point is that defense in depth is not all that great if the breach of the first line already gives you access to the loot.

So you shouldn't assign too much weight to it.


The point of defense in depth is that you should not rely solely in practice on a single defense element, but you still should strive the hardest when you design it to be sufficient if it was bug free (at least on points where it is possible given the security model, and what the technical item can address).

So splitting everything in sandboxed processes can play a big part in the security in a defense in depth approach. Of course you are not going to call it a day with just that, but still, it's extremely significant.


> extremely significant

How so? Are you saying that simply by being single-process currently firefox is orders of magnitude less secure than other browsers?

And that it would still be orders of magnitude less secure even with sandboxes, where just multiple tabs might share a sandbox?


It is to put approx on the same level as ASLR, DEP, Mandatory Integrity Controls, etc.

From a modeling POV it might actually be better than ASLR, DEP, etc, which are "only" mitigations for which multiple approaches are know to exploit other holes up to arbitrary execution and complete compromises in some cases, even if they are perfectly implemented (in limited conditions), while multiple sandboxed processes can be, at the model level, perfect. In practice (when you add bugs in the picture in all layers, and not just one, and when you actually don't isolate everything like crazy), it is obviously just another tool, but a very significant one (let's drop the "extremely" - it not about being an order of magnitude more "efficient", which would be a very blurry notion anyway -- I mean I guess at one point DEP even alone could maybe be considered orders of magnitude more secure, depending on your precise definition of everything).

What I want to convey about defense in depth is that it is about layering various mechanisms, independent if possible, to protect against various risks, while making the hypothesis that some will fail. You don't casually remove a layer (or pretend that a layer is equivalent to almost none because it does not protect you against one risk in some cases). Defense in depth is actual engineering, like the various safety components in any dangerous system. And the value of sandboxed processes is pretty clear. That it is not a silver bullet does not render it useless.


I thought extensions also mostly ran in their own processes, with messaging access into the tabs? So a password manager would have its critical code in its own process and only access the tab to look for fields to inject into, and hence be protected.


security is multi-layers. You should not rely on either process isolation (ie process sandbox) or logical sandbox or fault-free code...

that said i think firefox's choice is more sensible.


Webkit also learned from the experience of chrome with WebKit2 architecture, and uses less ram https://trac.webkit.org/wiki/WebKit2


I'm not a Firefox user, but considering that 95% of the time about half my RAM is going unused (well, Windows uses it for pre-caching random stuff it thinks I might need), I don't mind high memory usage as long as I get a benefit for it.

If it's just inefficient, that's a different story.


The thing is HD caching is extremely elastic. Memory consumption by a browser, less so (maybe even nearly not at all elastic).

So what you might think of a benefit one day might be a drawback the next if you want to open twice the same amount of tabs, or run a big build in the background.


If you're on Mac, Safari is good in terms of both memory and cpu.


Safari is my favorite on the Mac since it's quite lean (memory wise, CPU wise and energy consumption wise) and responsive. But I miss extensions from Firefox and don't use Safari if I have to work with several tabs and windows. There are several little things that make using Firefox much better for my experience.

Firefox is my favorite browser overall (especially on other OSes), considering its smaller memory footprint and lack of sluggishness with tons of tabs (compared to Chrome) and the fact that it's from Mozilla, a company I hugely respect and admire (even with some of the missteps that have happened in some aspects in the past few years).


Safari is great, but doesn't have a great solution for vertical or tree-style tabs, which are heavily used in my workflow.

FF is for work, Safari for non-work. Chrome when I need Flash or testing Chrome-only content (some great plugins) - pretty rare.


And battery life.


I was in the same situation as you and found that in the end Safari fit that bill for me (not sure if it is an option on your platform). Responsiveness is probably somewhere between Chrome and FF, but memory usage has been much better.


Nevertheless, I prefer Chrome's approach. I can just open the process explorer and kill a few of the most memory hungry tabs/tab groups; with Firefox, there's no other solution than killing the whole browser.

Can't wait for this fix!


I believe in current Firefox you could kill the memory-hungry tabs, then go to about:memory and force a GC. Or restart and let your tabs stay open but not loaded until you use them. Not that either of these is super-convenient.


In Firefox 47 (or 48?) you can now do: about:performance which displays/kills the CPU hungry tabs directly.


The thing is, workstation and laptop RAM is so cheap. If your browser is eating an appreciable chunk of your 16 or 32GB of RAM, you need to close some tabs.


I'm tired of this argument. My browser is not the only piece of software I'm running. I usually have virtualbox, a compiler, an IDE running. And sometimes some scripts/programs I wrote that does intensive computing on some data set.


Forgive me; your statement does not make sense. First you're implying that all you have to do is get more RAM; then you're admitting that you only have a certain amount, so you should stop using so much.

In actuality, very few non-server PCs can be populated with any more than 16-32 GB. It's not a matter of bother or expense at all. It's a design limit.

Every single time I've driven a non-server PC into hopeless swap thrashing, it's been the damn browser that was the culprit. Don't bother trying to advise me to bookmark 100 open tabs in 10 windows to save space. That is (forgive me) an insult to one's intelligence.


Even more of a problem on laptops since the market has overwhelmingly moved from a technical capabilities standpoint to a race to less weight and more autonomy. Has a result, max memory on high end or configurable models has at best stagnated for a few years. I've a 4 years old laptop with 16GB. It's not yet possible to get that on all flagships laptops today (even though 16GB SODimm is not even expensive anymore).


To be more technically precise, the limit comes from UDIMMs based on 4Gbit DDR3. DDR4 does have 8Gbit chips, but...


No, it's not cheap at all, because buying the physical chips is not the end of it. For some laptops - like macbook air - there is a limit of how much they support, and it's not that high. Some models are not even upgradable - they just have soldered-in 8G and that's it.

> you need to close some tabs

This comment is really not contributing anything to the matter. Obviously everybody could think of closing tabs without you advising to do so, and if they don't, it may be because they want these tabs around. I regularly keep a lot of tabs around because this is my work pattern.


If the available laptops don't support enough ram, then the consumer has spoken, and what they said was that they don't want more ram or 1000 tabs open on their laptop.

Personally I wouldn't buy a laptop that is incapable of supporting the amount of ram that I need for my "work pattern".


I want a laptop of infinite memory, infinite disk space, battery size so big I have to charge it once a decade and that it's cost me $10. But clearly not all consumer wishes are possible. There are some tradeoffs, and one has to operate within the constraints of reality, not wishes.

> Personally I wouldn't buy a laptop that is incapable of supporting the amount of ram that I need for my "work pattern".

Clearly you've got it all figured out. Too bad not everybody can be you, otherwise we wouldn't have any tradeoffs to deal with.


I just mean doing due diligence before you buy something that it will actually be able to do what you intend to use it for. I wouldn't buy a laptop with non-upgradeable and insufficient RAM. I don't think most consumers do that. They just buy a brand name because they can't be bothered learning how it works or what they actually need.

Of course I have tradeoffs to deal with... But yes, I do have it figured out. Thanks.


Student here. Can't afford "cheap" laptop RAM.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: