
Are They Slim Yet? Firefox, Chrome, IE, Safari - nachtigall
http://www.erahm.org/2017/03/10/are-they-slim-yet-round-2/
======
blakesterz
I must use my browsers differently from others. I have Chrome and Firefox open
on my main work machine here (Ubuntu 14) all day/night. Never have a problem
with memory or anything else on either. When I travel I've had both Windows
and OSX (two different Macbooks) and Also use Firefox and Chrome, also, never
issues with memory. I currently have 12 open tabs in Chrome and 6 in firefox,
just random websites, mail, youtube, github... no troubles.

I see people complaining of memory issues in browsers all the time though,
what causes these issues, and how is it I never see them?

~~~
ikeboy
Gmail often uses over 1GB. Some google sheets do too after being open for some
time.

With 10 windows and a handful of tabs each, I'm close to using up 16GB of ram
and sometimes run out.

~~~
bitmapbrother
My Gmail is at 240MB with Chrome 57 with 50 emails per page. With 100 emails
it's 380MB.

~~~
aninteger
How much memory is it with mutt, or Alpine.. or let's be fair, Thunderbird?

~~~
jacquesm
Thunderbird with a huge mail archive open: 1.5 G total, 500 M resident.

~~~
kalleboo
Does Thunderbird mmap it's mail archive or something? Because 1.5 GB sounds
insane. Apple's Mail.app is only using 130 MB for a 1.8 GB mailbox. Might be
an unfair comparison if Mail.app is leaning on the system for indexing/search
(then again mds+mds_stores is using around 200 MB)

~~~
jcranmer
The metadata database for open folders is entirely resident in memory.

------
rosser
Someone just tell me when my Gmail tab stops using over a gigabyte of RAM _by
itself_. The rest, whatever; I'll worry about them after that's fixed.

~~~
infinityplus1
Gmail always used to slow down Firefox so much that I switched to an email
client. Now Firefox runs much much better. I regret cursing Firefox for so
many months.

~~~
rosser
Oh, I know it's Gmail, not the browser. But I have just a hair under 14,000
_unread_ messages in my Gmail box (I use it primarily for mailing list
subscriptions), so switching to a desktop client would be ... painful at this
point.

~~~
Dylan16807
Why is that? Any IMAP client should work fine.

~~~
hashhar
You'll be surprised how many people don't know that you can use IMAP with
desktop clients. I'm not saying about the parent comment but just sharing an
anecdote.

------
bathyspheric
> Edge was disqualified because it seemed to bypass the hosts file and
> wouldn’t load pages from unique domains. I can do measurements so I might
> revisit this, but it wouldn’t have been a fair comparison as-is.

Is it surprising that Edge might bypass the hosts file?

It surprises me, as I thought all outgoing requests were routed through
`/etc/hosts` or equiv, but I don't spend too much time in Windows these days.

~~~
hashhar
Huh, mine respects my hosts. That's how I set up adblocking before they
brought extensions in.

------
cauterized
Now if FF could just avoid pegging the CPU on what should be reasonably
performant web apps, we'd be getting somewhere. It's even worse with
multiprocess.

------
yeukhon
For those not familiar, internally (well also externally now) Mozilla runs a
site called Are We Slim Yet? I used to walk by the big monitor at the old MV
office by the Platform/JS team (because i sat right across them). Fun chart to
look at.

------
krzyk
I use Firefox exclusively (after a month of trying out Chrome - unusable
because with 100+ tabs open it uses to much memory in comparison with
Firefox), but when I tried to increase processCount to 8 (then 4 and 2) it
looked like it was having a memory leak, started using more then twice the
amount of RAM.

I'm on Aurora (developer edition) maybe it was related to some recent bugs.

------
charles-salvia
The problem with Chrome/Chromium is it's basically just a huge ton of
scaffolding designed to layer an IPC framework on top of more layers of
scaffolding on top of more layers that wrap blink (i.e. WebKit) which still
has lots of code going back to KDE from the 90s.

The Chromium codebase has no less than _5_ different string classes, is
riddled with layers and layers of virtual function calls wrapping older
interfaces, has an antiquated threading model that defines a "Main thread"
because various ancient WebKit code scattered throughout the code base relies
on global variables, etc.

It's pretty surprising to me that it works as well as it does.

~~~
digi_owl
Pr process tabs seems to be the core reason why, as this allows the Chrome UI
to be "responsive" even if one of the tab processes keep chugging the cycles
like it a drunk during happy hour. This in turn because we now have 4+ cores
that can do 2+ threads each in an effect to keep the marketing interpretation
of Moore's law valid.

------
drdaeman
Would be interesting to see comparison with uzbl and surf as well. Maybe also
with Servo/browser.html, although it won't be really correct as (unlike the
others) it's not yet stable.

------
kbutler
I picked up a little Dell 3000 laptop with 2GB RAM. Chrome rapidly gets
unusable, but Firefox lets me keep a dozen tabs going.

Linux (Mint 18.1) uses about 1/2 the memory of Windows 10, so I run Linux.

Haven't set up swap (flash memory only), so when I do exceed the RAM limits,
things just grind to a halt, usually requiring a reboot.

Fun little portable system. :-)

------
cozzyd
I'm surprised by the memory differences between OS's. Is that just a
measurement artifact?

~~~
beerbaron23
Well the OS's do manage memory differently and would expain the high OSX
memory usage.

OSX soaks up most of your ram at all times and will put programs in the
background into a sleep state. When they are woken up everything is
transitioned smoothly like it was already running as it's state is in ram. The
OS will also free up ram if it's needed by a newly launched program. Hence
when judging the available memory on OSX you look at "Memory Pressure" and not
available ram.

------
bitmapbrother
The test mentions he ran Firefox using 2, 4 and 8 content processes. Does this
mean that Firefox does not use 1 process per tab like Chrome does?

~~~
fabrice_d
Firefox can be configured to use N number of content processes, and will
allocate tabs among these processes. In FirefoxOS we were giving a new process
to each tab/app, using a pre-allocated process to speed up startup (a version
of that has been re-implemented for Firefox).

I'm not sure about the exact heuristics used by Chrome, but I think they do
something like one process per origin.

~~~
bitmapbrother
Yes, Chrome uses 1 process per domain. So I'm still not sure what would happen
if Firefox is configured to use 4 content processes and 20 unique domain tabs
are opened. Would the domains be distributed to these content processes? And
what happens if 1 content process crashes? Would it also bring down all of the
domains associated to it?

~~~
bzbarsky
The answers to your questions are yes and yes.

