Hacker News new | past | comments | ask | show | jobs | submit login
Scalability (gregor-wagner.com)
198 points by zobzu on Aug 3, 2011 | hide | past | favorite | 161 comments

Performance is the side-effect, not the cause. The cause is the fact that chrome uses separate processes both for security, and so if one tab crashes, you don't lose them all.

The fact that it uses more memory is a design tradeoff (although with shared text pages it's not as bad as one might think). The real question is whether you would ever have that many tabs open, and how much memory do you have on your desktop?

> The real question is whether you would ever have that many tabs open, and how much memory do you have on your desktop?

I have 60 tabs open now (in FF), and this is after closing most of them, on a 32-bit system with 4GB of RAM. I regularly hit over 200 tabs when browsing.

200 tabs.. how is that possible? Do you ctrl+click on every possible links on every page?! I'm actually really surprised. I, too, can't stand more than 5-6..

I tend to have several windows with sevaral tabs open for different categories: things to send to people next time they are online, personal techie things I intend to read when I get a minute, work related similar, and so on. Yes I could use bookmarks and such for these, but I find this a more immediate reminder. Every now and then I scan round these windows and close off things that have slipped into irrelevance or bookmark ones that I might still read but maybe not any time soon.

On top of those there are "recent research" for any problems I am currently working on, which is usually at least one window each with a search results tab and a few tabs I opened from there (after pruning the ones that were not relevant in the end.

Plus there are the tabs I am "actively" using (which is pretty much always at least five at the moment: two mail clients, two social networking sites, and a page containing the results of various service monitors which updates every minute or so).

I often see FF taking a bit more than 1Gb RAM particularly if I have complex pages that auto-update a lot (Zimbra, facebook, so forth) open, though often closing it and restarting with the "reload last session" option brings that down by at least 60% (I assume the "extra" is stuff cached in RAM and/or memory allocated and not yet released due to fragmentation in FF's internal memory management - both situations being "resolved" by the restart)

I can't imagine triaging 200 tabs on any kind of regular basis. Just thinking about closing that many tabs feels really good. Do it man, get rid of them! Free yourself! Bookmark things or send to Instapaper/Read it later and archive things you haven't read in a week. Don't let it pile up. Don't feel obligated to read or otherwise handle each page.

Maybe you don't feel bogged down but I feel bogged down for you :)

FWIW, I usually have between 10 and 30 tabs opened simultaneously and I'm usually pushing 1G ever since 4.0 rolled out. I may cycle 100-200 over a few hours and then have to restart to reclaim memory (only 4G).

Similar usage with 3.x rarely exceeded 300MB and FF would remain open for weeks.

I'll do similar.

Tree-mode tabs help a lot (I'm still looking for a good Chrome plugin for this), "Tree Style Tabs" for FF5. Since trees group related tabs (I've got a subtree open for HN right now), and collapse, it helps to manage them.

As with grandparent poster, I'll have several windows, across several desktops, task-oriented. News, mail, site monitoring, research, reference(s) for languages / tools, etc.

200 tabs is probably a high count, but well over 100 is very doable.

Personally, I often keep 40 to 80 tabs open - I just keep what I'm reading open. Right now, I'm reading about semantic data, then there's the RDF tools for Python. Now I'm taking a break, so I have GReader, HN and a couple dozen articles/comments pages from that.

It's just a way of keeping the 'flow' of a browsing session in the browser itself, so you don't have to keep all that in (mental) memory.

I do use Firefox, which works fine even in my 2GB laptop and with a bunch of extensions installed.

I also carry around 200+ tabs, and 100+ of these I use periodically. Every now and then I cycle through these, and eliminate chaff, and add new ones, so the total number remains about constant.

I've also switched back from Chrome to Firefox because Chrome doesn't scale (nor does it have all the extensions).

How do you even navigate through 200 tabs?

Let's say you're on 4chan and there's a creative thread with a bunch of images. Threads can reach 150 images before they max out. You could use the Linky extension to "Open All Image Links in Tabs" and you would instantly be up over 100 tabs.

That's just one use case, but there are certainly many others.

150 tabs of images isn't the same as 150 tabs of web pages, though.

That's certainly true, but Chrome ostensibly doesn't know that, and spins a new process per tab (or close to it). Creating 150 new processes, even if just to load an image in each, increases memory consumption and processor overhead.

There is a google chrome extension for 4chan that will let you preload all images or open all images inline. It also auto fetches new replys and loads them inline aswell. I am on my phone right now so I can't find what it is called, but IIRC it was the most popular and highest rated 4chan extension.

I have that Chrome extension and a similar one for Safari.

I just dislike opening images inline or all loaded into one separate tab, because then it turns saving individual images into a mouse-driven task rather than a keyboard-driven task.

As an aside: what do you use to browse Hacker News on your phone?

I just use safari, is there a better option?

There are some apps for browsing HN in the app store, but I haven't bought any of them to try. Right now I browse HN through http://ihackernews.com/ which is a nicer stylesheet for mobile browsing.

Awesome, thanks. I was getting annoyed trying to click on the comment link on my phone.

Instead of 200 pages of images, get on a real site and open only one tab with a video ;-)

There are plenty of image threads that are not porn. Especially if you forego /b/ for the work-safe topical boards.

(Just wanted to point out that this clearly was a joke) I hope you weren't offended by it :)

In fact, with chrome, it's so easy to load a new page that even if I might browse 100+ pages, I just reload them everytime. I.e. g<enter> go on gmail. f<enter> facebook, etc. :p

Chiming in to say that ~60 tabs is not uncommon for me either. The Tree Style tab extension for Firefox is amazing and allows me to organize tabs into groups. Some groups are on the "to read" list that I don't get to for a couple days.

It is also the main reason why I can't/won't switch to Chrome - no Tree Style tabs.

There's TabSense, which can give you a tree visualization, but the main tablist is still horizontal across the top of the screen. Weak.

Yeah, I was pretty disappointed with that extension too. The built-in vertical tabs in Chrome are irritating too - new tabs open above your current tab, instead of below. Perhaps it is just me, but this feels very unintuitive. And more importantly, there is no way to change the behavior. :(

W.T.F. I can't go over 6 without feeling messy.

How you feel doesn't really matter when you're doing anything other than idle browsing.

This morning I had about 30 tabs open when I came into work, all documentation or reference of some sort that I will use in the next few hours. And thats about the lowest I ever get, if I'm looking up something new to me or complex it will easily shoot over 100.

I'm afraid I disagree. There's no way you could multi-task all 30 open tabs at the same time. Read what you need and close the tab when you're done. Leave only the topmost page of the documentation open so you can find your way back down again if you need to. You should be able to tell whether a page has value to you or not within the first 30 seconds of skimming through it. Do you open every result on google for the first 3 pages of all your searches or something? Baffling.

It's called context / state.

The more state I can leave up on my desktop, the better.

If there were better management within the browser -- non-visible tabs were eventually unloaded, with any page-state (forms data, etc.) saved -- then you wouldn't have the memory bloat problems that occur.

The thing is that it's a very large virtual workspace to spread things out over. So long as it's organized, it's really useful.

Look to movies especially of researchers in the 1970s or 1980s who'd spread clippings and papers over all horizontal surfaces in an office, tape/pin them to a wall, etc. You want to be able to scan quickly through the space at eye-speed, not have to dig into files / organizers / storage / regenerate the information every time you want to look at it.

It's why you'd rather have a large monitor -- you can strew windows over it and see more, rather than have to manage windows and go through them repeatedly.

We don't "multi-task all 30 open tabs at the same time" whatever that means. Just like you can have many apps running but maybe only one or two windows visible at any time, you can have many tabs open and only focus on one or two at a time.

For those of us who write software being able to discretely switch to a certain doc with ctrl-tab or ctrl/cmd-# is much quicker and efficient than navigating N times throughout the day just to reduce the # of tabs.

If I'm working on a Twilio web app I might refer to the Twilio docs, Ruby docs, twilio-ruby source, and some web related docs all throughout the day (HTML/JavaScript/CSS). Oh yeah, don't forget the JavaScript library docs. Why look them up each time you need them? Open them at the beginning, close when you're done work and that's that.

Your tab related OCD shouldn't enter into our workflow ;-)

You're right. My workflow sucks and there is no way it could be the most efficient way for me to work. All those tabs are useless. Re-navigating to a document multiple times a day is easier than leaving it open scrolled to where I need it.

I guess I just suck at my job.

Well I don't treat them as individual tab, I treat them as a set of groups. Thanks to tree style tabs my tabs are organized as groups manner.

On average I have 5 groups hacker news, reddit, slashdot, google reader, google searching and documentation group. When I work I frequently move around google searching and documentation group. In my leisure time I go to other group.

For example during working I need to search about some feature of a library. I open the top tab of the google searching group middle click on the link I am interested which opens in the new tab in the group. If some time later I need to see the page again just go to the google searching group and get the tab. This way I can easily organize my tabs.

"You should be able to tell whether a page has value to you or not within the first 30 seconds of skimming through it."

We don't read the same things apparently.

I operate similarly. I have my FF set to open up the previous session on start (though I don't usually close FF). Tend to have 70-100 tabs open always.

I recommend a vertical tab addon (I use Tree Style Tabs) else you'll wear out your scroll wheel on the tab bar :)

I recommend a vertical tab addon (I use Tree Style Tabs) else you'll wear out your scroll wheel on the tab bar :)

Thats exactly the extension I use! I'm really happy with it, it gave me the ah-ha moment that working with multiple tabs doesn't have to be prohibitivly painful. Thanks to it I decided to change my taskbar to be vertical too and haven't looked back. It makes for more wasted space if you're not busy, but is worth it, as UI wisdom tells us scanning horizontally is a lot harder for the user than vertically (and thats when everything fits on the screen).

I'm in both camps. Typically I'll have a window with about 6-10 tabs. But I'll have maybe 4 of these windows. 2 will be for work, 1 will be personal and the last one is either personal or my personal project I'm working on. That's easily 24-40 tabs.

Lately I've been trying to keep them down because of memory constraints (tab/process model in Chrome).

Let me guess: You use Tab Kit/Tree Style Tabs or some similar to make it possible to have some overview while browsing?

Another question is how badly that leaks memory?

I currently have 203 tabs open, and firefox has been running for 13 days. It's using 2.1gb of memory. I churn through tabs a lot. Firefox used to have memory problems, but it hasn't been a problem for me in at least a year. 10mb per tab is pretty good, IMO.

Interesting, because I have 5 tabs open (running the latest version of FF), and it's using over half a gig of RAM. It's been running since monday.

Perhaps I need to take another look at my addons, but I only have four (firebug, web developer, ad block, and diigo), so I really doubt they are the cause.

I think that the browser footprint is fairly large, but as you open more tabs it uses proportionately less ram per tab (though it must level off at some point). I'm using 15 extensions (the only one of yours I'm not using is diigo), I doubt they make much difference.

For some time during the 2.x and 3.x series, firefox would leak memory from closed tabs -- the memory usage would keep going up and up with tab churn, and I'd have to restart the browser to get the memory footprint back down. I don't see that with v4 or v5, and I usually restart the workstation before I need to restart firefox.

Are you using the tabs as bookmarks or a task list? Browser may withstand it, how can a human brain!

Even back to the days before Chrome was released, many many people used to complain that Firefox grinded to a halt when they have 250 (!) tabs open.

many, many people - really? I think they were a very vocal minority, that most people don't even come close to that many tabs.

Firefox compartment memory as well. Using a separate process it the easy way, using thread is the hard way. Each has pro and cons I guess. Even Firefox is getting a multiprocess model for testing.

But for example you can't completely isolate a thread if it crashes. But you can forbid it to access other memory areas for security, that's what Firefox does.

Since Firefox 4 each tab has it's own separate garbage collector.

>But you can forbid it to access other memory areas for security

Not in C/++ in any standard definition of "thread".

What you mean is not in a mandatory fashion and at the C code level and that's true. But what I meant is that you can do it for the objects you manage, such as JS code and the rest of the webpage. It doesn't prevent an issue in the Firefox interpreter itself.

Every browser does that. Virtually all the problems that matter are internal to the browser.

thats not true. FF 3.6 and before that did not compartment it per tab.

Likewise for IE, but they're per process like Chrome now.

Not sure about other webkit browsers and Opera, it's likely other wekbit browsers (except safari) do not do that.

I can't follow what you're trying to say here. I'm probably just misunderstanding you. Someone suggested that Firefox had memory segmentation, and just did it with threads. That's obviously not accurate. Then you said, "they have it, just with javascript objects". What mainstream browser allows javascript in a tab to access objects in any other page, let alone another tab?

Depends on what JS it is. Obviously websites can't, but a huge part of Firefox is coded in JS, which runs with high privileges. It's perfectly possible that tab specific trusted JS code (including possibly extensions code) wasn't compartmentalized and now is.

Sure! Just keep in mind that a lot of that "trusted JS" is actually just a thin wrapper around C/C++ code, and the C/C++ code tends to be where the problems arise.

Sure you can. Use the mprotect() system call: http://pubs.opengroup.org/onlinepubs/7908799/xsh/mprotect.ht...

mprotect() doesn't let different threads have different read/write permissions to a page. You need different processes to achieve that.

No, threads on x86 share page hierarchies and cannot be configured not to access memory accessible by any one thread.

The limit is found pretty soon on older machines; while the OP tests on a Mac with 8GB of Ram, on my main machine I have only 2GB of Ram, and Chrome becomes unresponsive after ~10 tabs opened.

I didn't think Firefox would be better but if it is, I might go back to it!

I have 1.5GB of RAM and I usually have ~15-20 tabs open without any performance hits on chrome, (including Eclipse, Skype, filezilla calc, evernote etc etc open). Maybe there's something wrong with your install?

Same here; right now I have FF open with 30 tabs and Chromium with 10 (including Angry Birds, installed version) in a 2GB laptop and it's fine.

I have 6GiB of RAM, and Chromium eats most (typically, about 70-80%) of it. When I have too many tabs open with a lot of browsing history (for reference, currently, I have 61 tab open) Chromium eats all available memory, so, obviously, system chokes on swap.

Still, I prefer manual memory usage control (I have a meter in my panel, near the clock). This feels easier than less-predictable browser-wide hangs where I can't even switch the tab. I've tried Firefox 4 when it was released and I was unsatisfied with its responsiveness, for example, when I open a lot of flash-heavy tabs. While I've heard Mozilla devs did move plugins to separate process, in practice there were cases that the browser did hung for several seconds.

In the Gregor's blog post, Chrome performance is drastically worse even when it uses only one renderer process, not one per tab. In the demo, if one tab crashed, they all would.

I have seen that claim before, but in my experience the few times Chrome crashed I had to close the whole thing. The individual tabs may have been working, but they definitely weren't responding, or at least I wasn't able to get to them as the wrapping process seems to have crashed. (Beside the point: the Android keyboard is worst piece of @#%$@ I have ever had to work with)

The Android browser is not Chrome as addressed in the article.

I know that, I said Android keyboard, not browser. I'm typing this on a vanila Android phone, and the level of pain I had to go through just to type the text above is ridiculous. This is not even alpha quality, it's pathetic.

Use SwiftKey. http://www.swiftkey.net/

Are you on Gingerbread? The keyboards before 2.3 are awful.

Yes, I'm on 2.3.4. I started with 2.1, the keyboard itself was OK. Sometime around 2.2 it started crashing, about every other day. With 2.3 it crashes even more.

The particular problem I had above was not due to crashing. As I was typing, the suggestion bar was pushing the text that I was typing out of sight. So I had to constantly fight with it to actually see what I typed. When taping to move the cursor, it was actually trying to make a selection, but only sometimes. Using the wheel to achieve the same made it constantly jump.

The worst part was that when you reach the end of the text box you cannot scroll below and see what you typed. Well, you can, for a few seconds then it takes you back. You can type, however, but don't get to see what you typed. It's like typing blindfolded. I had to just post the message and go back and edit it.

How something so basic passed QA is beyond my comprehension. Here's one of the threads about the keyboard crashes: http://code.google.com/p/android/issues/detail?id=15311

200+ tabs open, 12 GByte RAM (I so could profit from a 64 bit Firefox).

Browser performance really matters for web automation, web testing projects with tools like imacros or watir.

Anyone care to share how their usage patterns lead to having hundreds of tabs open at a single time? How is it even feasible to find a specific tab without doing a time consuming linear search?

I rarely have more than 4-5 tabs open at a time, so I'm honestly curious.

I use Firefox with Tree Style Tab. Tree Style Tab is actually the reason why I never switched to Chromium, as it IS impossible to keep more than a few tabs organized without such a plugin in my opinion.

Having many tabs opened at once and being able to keep them out of sight with Tree Style Tab makes it much easier for me to keep my browsing session organized and stops me from accidently closing websites I might need later/tomorrow. Bookmarks on the other hand never really worked for me the right way, so instead of bookmarking a link, I just keep it open in the background until I don't need it anymore, and my favorite sites stay open all the time.

I also run multiple instance of firefox to seperate my browsing sessions (private/work/social/etc), as I don't want my google searches or cookies to mix, and I tend not to reboot my machine but to just use hibernate. When I have to reboot because of updates, I use BarTab, which makes it possible to only reload specific tabs when a firefox session was closed.

That's one of my favorite plugins too. In combination with something like Session Manager it's really useful.

To give some stats: I normally have around 30-40 tabs open, my peak so far was at 97. Yes, there's even a plugin for that ;) ("Tab Counter").

I usually run around 50 (44 right now) and have them grouped with opera's tab grouping so it does not normally feel like a lot.

Most of these come from sites like this one. I will go down the home page and open every article I want to read as well as its comments page (middle clicking). Thats easily 20ish tabs. These tabs will then stay open most of the day as I slowly read them.

Then I have some that are used sort of as a todo list. These can be a page where I need to fill out a form, read an article, etc.

I also have a bunch of tabs based on a group. For instance since I do a lot of web programming I may be working on 1 site and have 1-8 tabs associated with it, but then I need to switch to another site and open another set for it, but I don't close the previous until I am done with the site.

Then I have the normal "apps", pinned tabs or whatever they are called. Usually just 2 though, gmail and grooveshark. However sometimes it grows a bit more to add calendar, docs and whatever is is needed.

Add it all up and its quite a lot of tabs, and they just add up quickly. But with the ability to place tabs on the left of the screen and group them its easily manageable. I couldn't work with this many tabs without those 2 features.

I must admit to currently having 280 tabs open. In my case, I open a bunch of things I intend to read (by browsing reddit or the like) and defer the reading of them indefinitely.

In practice, most of the tabs are `legacy' tabs that I don't use, but which I still retain some nominal interest in when I go clean out the tabs every couple months or so. These tabs range from youtube videos that I don't want to forget, to tips for Vim, Wikipedia articles, blog posts on machine learning, instructions for DIY haptic compasses...

About 1/3 can be traced to one or two websites with interesting articles that I intend to read in depth (at some point).

Your browsing style is very much same as mine. I suppose you are using firefox with vimperator + tree style tab. If you have a fear of restarting the browser again then install bartab[1] extension and forget the fear. It unloads the tabs from memory, so memory consumption is too low and restarting browser takes little time.


That's what the bookmark system is there for.

I'm guessing people are mostly just using them as a reading queue. (Middle-click everything, then Ctrl+W to advance.) Of course, tabs aren't actually built for this (mostly; I think Apple has realized that people do this, as the newest Safari seems to unload the render state for tabs that have been in the background of a window for a while; everything reflows when you actually switch to the tab.)

I wish Chrome would do that. If it is memory crunched, it seems to swap out the rendered page image, and then it very slowly repaints it when you switch back to that tab.

> How is it even feasible to find a specific tab without doing a time consuming linear search?

Firefox's awesome bar searches open tabs. So, "C-l ann" gets me to this tab as "annihilate" is in the title of this post.

Like everything the awesomebar has done since 1.5, at first that feature seemed kind of annoying to me, but now it has become super handy.

I'll give you one case when this is useful. Let's say that you have to select 20 titles out of hundreds of books. [1] If your browser allows it, it would be convenient to open N amazon links (for N in (100,999]), and then eliminate books as you go through them by closing tabs. In the end you may remain with 20 books or so you shortlisted.

1. I have a similar usecase for http://anynewbooks.com, even though the process is quite different thanks to a ranking algorithm that preliminarily sort the books in a sensible way.

On average, I have about about 20 tabs open. I use the Tab Mix Plus plugin installed that gives me multi-row tabs. After 10 tabs are open, it adds another row of tabs and it gives me 3 rows before I need to scroll the tabs. So having 30 tabs open is pretty manageable.

If I'm doing heavy research I can easily end up with over 100 tabs open. I just open every single page I'm going to look at in a new tab over time and just lose count.

I use virtual desktops ("Spaces" on Mac), and typically have 16 open, with one window per desktop. Each "desktop" represents one unit of work, whether that's a project, or bugs that I work on in parallel (waiting for reviews, etc).

In general, each window starts with one tab, but as I do more research into something, more and more tabs open. I religiously close tabs I'm not using, and the ones I keep open tend to be API references and similar.

I also use tabs as a TODO list, so any open tab is something I have to do. Closing them means my system breaks.

This would all be completely unmanageable without a few optimizations:

- TreeStyleTabs makes managing 25-30 tabs per window manageable. I almost never have more than that.

- Firefox Nightlies use considerably less memory than the release version, mostly due to the MemShrink effort within Mozilla (where I work)

- I set browser.sessionstore.max_concurrent_tabs to 0, to prevent a restart opening all my tabs and sinking memory into windows that aren't in my regular rotation.

Even so, Firefox typically uses 1.5-2GB of RSS, and slows to a crawl after a few days. This is due to fragmentation, and I'm working on fixing it.

I have my todo list in the form of tabs. I typically go through them fairly linearly as I work on things on the list.

That said, if I start typing in the url bar, already-open tabs whose title or url or tags match what I type show up in the dropdown search results and can be switched to by selecting that option from the dropdown (that includes tabs in other browser windows, etc, so I can just grab any window, type a few words in the url bar, and then be in the tab I want to be in).

This is in Firefox; finding a tab you want in Chrome is indeed a huge pain.

Opera has tab stacks where you drop tabs on top of each other, which groups them together. Then you can collapse and expand the groups.

I don't use it that much (mostly because there are no shortcuts and command line interface for adding to a stack or expand / collapse), but it is nice sometimes. I might do some research for a blog post, end up with 5 sites that I know I will need to consult when I write it, and just put them in a stack and have it sit there (collapsed, so it doesn't take up much space) until I do write it.

Having said that, I rarely get over 50 (usually in the morning after clearing out my feeds, or when programming against some API / library, when I open lots of documentation pages).

Once I get to the point where I can't see the favicons anymore, I start looking for something to close.

I usually place Opera's tab bar on the left and set it to wrap to multiple lines, so I have plenty of room to hoard an obscene amount of tabs. When the count gets too high I sometimes hide the tab bar altogether and ctrl+tab+click between the tabs. Works great.

I have about 180 tabs open right now on my desktop. They're spread across multiple windows and multiple Firefox profiles, grouped by task. It's not at all hard to find a specific tab, and I use multi-row tabs so they're not tiny.

There is mine: my favourite photo site is http://www.photoline.ru/ (you can find my photos there: http://www.photoline.ru/author/4949). If I don't visit it for a couple of days and I want to see all the latest photos, I just go through index pages middle clicking on thumbnails, so each photo opens in new tab, and then go throu them. Sometimes I do open a few hundred tabs. Funny, but this was why I went back to Safari as default: it just performed best for this use case.

I don't go that high but I can easily have 4 windows with 6-10 tabs each. They are grouped by purposes (work, type of dev I'm doing (server/client), personal, personal project). At any one time I use 1-2 groups but switch between them depending on the major task I'm working on at the moment.

Agreed, I rarely have more than a handful of tabs open. Less often, but not unfrequently, I don't have a browser open at all. If I want to (re)read something later, I use instapaper.

> How is it even feasible to find a specific tab without doing a time consuming linear search?

Firefox searches open tabs in the awesomebar; selecting one of those entries switches to the tab.

Go to 4chan and find a funny or creative thread with a bunch of image replies. Use the Linky Firefox extension to "Open All Image Links in Tabs". Voilà.

It makes me a bit suspicious that a Canary build of Chrome is used. I understand that when a new feature is highlighted in a nightly build of Firefox, it's right to show it off - but why not do so against the latest version of Chrome - or even a Dev build? At least those two have been tested first ;)

Would you honestly prefer it if browser manufacturers compared pre-release versions to shipping versions? Seems to me that would be far worse.

Well, in this case it should be compared to whichever version of chrome performed best. That way you include any improvements they've made, but not any regressions.

I know an anecdote isn't data, but here we go: I often have >100 tabs open. I also sometimes have to restart my mac, and reopen those tabs. While Chrome then struggles for a few minutes, it doesn't take half an hour, like this article suggests, to open 100+ tabs. And I did switch to Chrome from Firefox, as it seems to handle a lot of open tabs a lot better.

for me, the big difference between firefox and chrome is that it isn't a total usability disaster to handle that many tabs in firefox if you use the tree style tab ( https://addons.mozilla.org/en-US/firefox/addon/tree-style-ta... ) extension.

Personally, I find the Panorama feature helps with that, as does having a tab list. Does Chrome offer either of those?

I'm pretty sure the total time depends on which webpages you open.

Also please note that this is for Firefox nightly (8) only. This might also be true for FF 6 and 7 but nothing before that. Memshrink enhancements have only started at FF 6 (which is not yet released as stable, but soon)

I'd also assume that the author was using a new profile with no cache for each test run.

Recently I've gone back to firefox (8, nightly) because of two issues with chrome: memory usage and constant crashes (as of lately, on a mac).

I must say that, although I'm a tab freak (I always have around 30 to 50 tabs and/or windows opened at the same time) it is very fast and never uses more than 500mb of ram.

The only issue that I have is that it doesn't play well with rescuetime. Other than that, a delight.

I figured that around 150 was an unlikely use case but see from the comments that some people are using approx 100 tabs. I can't imagine doing that. What kind of real world use cases do people have for such a huge number of tabs? And how do they navigate efficiently?

I've seen tab enthusiasts. They are incapable of tracking which tab they already have open and reopen the same one over and over again.

Not really, I have about 100 tabs open at the moment and each one points to a different page. Regarding the "real world usage" for this: Pages I read every day, pages I've opened and intend to read if there's time and pages I read at the moment. Works fine, thanks.

Maybe this is also a function of browser capability: If your browser crashes or becomes unusable with many tabs you won't open many.

Please excuse my curiosity. How do you navigate so many tabs? Is it in some way more efficient than reading them in blocks of say 10 or 20?

I am interested in your use case of pages you read every day. I have such pages and I would love to be able to open a specified list of such pages with one click. Is there a way of doing that? Or an add-on for it?

I use Session Manager. Open all the tabs you use daily, and then save the session and configure Session Manager to open that session on every startup. (https://addons.mozilla.org/en-US/firefox/addon/session-manag...)

Usually research, when you need to sift through a large number of pages and look for something relevant. I find myself having 200+ tabs open when I'm in that sort of mode.

Opera's doing just fine. As I am writing this, Opera has all 150 tabs open and still feels snappy. ~1.5GB memory and ~30% CPU (currently). I could not measure the time but it was well below 10min.

Opera has always been a performer when low specs and lots of tabs were involved, cruising with 50+ tabs when Firefox and Chrome choked my system at 10+ tabs.

The major issue with opera is that you can't easily automate the tests, that's why it's often missing when people test IE and Chrome and FF. So it's hard to benchmark stuff and most don't take the time to do it.

That said opera is known to be rather fast.

It might be more difficult, but you can certainly automate opening a bunch of tabs using a script to send keypresses, no?

sort of, a lot of the actions by this script rely on the browser giving feedback (e.g. finished loading the page). You could write a script to gather feedback from the display (i.e. by taking screenshots) but it's too much effort to maintain with new releases.

I recently switched from Firefox to Chrome after their appalling release of Firefox 4 & 5. 5 Is better than 4, but only slightly. In most cases, Chrome out performs Firefox now and it's a shame that I had to switch from Firefox.

Although these are real world statistics you encountered, I still think that Firefox needs to buck their ideas up and start releasing more stable versions.

The version in the story is Firefox nightly aka Firefox 8. There are many changes from Firefox 5 to 8. Since they adopted the rapid release, Firefox 8 won't take forever to be stable, but it will still take a few month.

I'm much aware of their recent release schedule changes, I just hope that they are not sacrificing stability for increased version release. Firefox used to be about testing and stability rather than who has the bigger version number.

4 was an insult to me, crashing all the time and so slow, pathetic in the terms of a browser, I would have rather used IE for a couple of months whilst that was released and that's saying something

I wish mozilla would make web pages for these new versions. The top search result for "Firefox 8" is the 1.0.8 release notes, followed by a "download free download" link that is definitely not mozilla.com.

Yeah, FF4 had its problems. FF5 and FF6 fixed some of them, but I think you'll really like FF7. Try it out!

I'll give it a go thanks

I remember switching to Firefox nearly 7 years ago and swore I would never look back, that's why I am insulted at their latest efforts

Humm. My experience are completely opposite. In my experience firefox breaks down quite fast and chrome has always been many orders of magnitude better than any browser I've tested (firefox, (safari), opera, IE).

I have about 500 tabs in chrome now, never been close to that with any other browser, granted the computer is barely usable now as chrome takes pretty much all resources so I'm working on closing some down :) But 2-300 is no problem at all and chrome is the only browser that's capable of that (without serious performance issues) on my machine (64bit Win7 8 GB ram).

And the comments to the article resonates well with my experiences: "Another test, maybe closer to reality: open many tabs, close half of them, open many new tabs, close half of them, etc… And see how your memory gets lost, until you finally have to kill the Firefox process to get it back, so you can open other applications."

And many others that mention that firefox can't handle being left on for days without breaking. I have hundreds of tabs in chrome for weeks at a time, sometimes probably longer but every now and then I feel like letting it update... (although it is a pain to start it with hundreds of tabs and I often get blocked from HN after I start chrome (guess I trigger some dos-filter ;P).

Also, any browser that doesn't run flash in a separate process (that you can kill yourself) isn't usable at all (that is, if you have flash installed (flashblock only delays the inevitable)). Even with few tabs that is a total deal breaker (and really has been since the day chrome launched).

Firefox 7 and 8 (both in development) are much better behaved over long sessions. You should give one of them a try.

By how much? When I switched to Chrome, Firefox 3 would crash on me at least once every 6 hours of use (10+ times a week), and take 15+ minutes to reopen with ~150 tabs.

Chrome on the other hand has always handled 300+ tabs without blinking. Closing and restarting it with that load takes about 20s to be usable and a couple minutes for all the content to be loaded — basically limited only by my internet connection. It crashes about one every three months, ironically only when I tell it to quit.

Firefox would have to now be three orders of magnitude better in these respects in order to have caught up with Chrome.

P.S. Mozilla's messaging with "try version 7 or 8" is fucking abysmal. Seriously shut the fuck up about version numbers if you're going to increment them so often. Don't copy Chrome's development cycle without also copying their release structure: normal, dev, canary.

Just out curiosity, how do Chrome users deal with multiple tabs? I always felt like Chrome's tab bar became useless when I was going through my RSS feeds, because tabs shrunk to nothing. Side tabs is kind of a solution, but the lack of hierarchy (and IMO, ugliness) makes it an unattractive solution. In FF, I can have 52 tabs open (just checke) with TreeStyleTab and all them be visible. Chrome gets unwieldy after about 15 or so last I checked.

Categorizing tabs into separate windows and using virtual desktops.

My Chrome default startup settings open about 40 tabs. Sometimes in addition to this I might open 20 or more news articles in rapid succession in order to scan headlines and lead paragraphs. I've noticed this effect many times.

Still, I can't help but think this is a tweak. I mean, at the end of the day, we're talking about CPU time, memory allocation, and processing priority, right? So allocate a few extra processes and large chunks of memory, set the priority such that Chromium doesn't tank the system, then work a buffer allocation system.

Of course, that's rampant speculation on my part. Seems like I read somewhere that timing and process priority is still an unsettled issue in Linux, so I know it's a lot more complicated than I make it out to be. (But I also know that having 150 processes do things without hosing things up is by no means an unusual situation in any operating system.)

Chrome also gets to a usable state much slower than FF for me (osx10.6 - mbp 13"). The window opens faster, but it just hangs for a heck of a long time (10-15 seconds). FF is slower to paint its first window, but is usable much faster overall (meaning, I can type in to the web address bar).

This has been the main reason why I have not totally committed to Chrome. While I do not usually have 100 tabs open there are times when I do have 30 - 40 open. In Firefox the browser slows down but not horribly so. In Chrome the browser is still usable but it is noticeably slower than Firefox.

I love everything else about Chrome and while I realize that the degraded tab performance is a trade off, it still bugs me enough to not do a full and complete switch. That is why when I am casually browsing the web I will use Firefox. But when I am using a web app or working, I will use Chrome.

This is why I use both Chrome and Firefox. I am a big, tab user, and Chrome doesn't even provide decent tab management with large number of tabs, so I have not been able to even test it properly. So Chrome is my default system browser for quickly opening a link, that I get through chats, email, etc and for quick browsing and google sessions. It starts up fast and is well 'fast'. For serious research/reading/browsing sessions I prefer to use Firefox. Synchronize bookmarks and yay, you have the best of both worlds.

My firefox browsing way is to open every link in new tab. Going back and forth in same tab caches every page browsed in the tab so it increases memory consumption. In this I usually end up opening 40+ tabs. But tab management is super easy with firefox thanks to tree style tab extension. Even 40+ tabs opened my firefox memory consumption is much less than chrome opened 40+ tab (which is unmanageble due to shrinked size of tab bar)

Windows, Linux or OSX? I'm curious because on Linux, threads and processes are essentially the same thing - they're the same data structure in the kernel. But as far as I know, that is not true on Windows.

I also find his conclusion a bit disingenuous: I never have more than ~10 tabs open. I'm more interested in the performance around my actual usage, not an order of magnitude more.

How is it disingenuous at all? It clearly specifies the conditions and re-emphasizes in the conclusion that the analysis was done based on which browser handles having a large number of tabs open better. Also, the plural of anecdote is not data, but I routinely have more than 100 tabs open. So this analysis is clearly relevant and interesting to me. Edit: proof-reading.

I guess we all have different definitions of "many" in the statement of "many tabs." I didn't think 100 open tabs is realistic, but enough people here seem to do it.

Processes and threads are both schedulable entities in linux, which is a bit muddled, but when we talk about processes, it still implies a separate address space. That's the whole point of distinguishing them.

Of course the more sane model is for a process to be an address space container, and threads to be associated with a particular process, but when discussing them, that particular implementation detail is moot.

Right, I know what processes and threads are under Linux; instance of task_struct. But I'm asking because if we're going to understand why he's seeing the performance he presented, we need to know the kind of system he's running on. And how Linux treats threads and processes is one major difference between it and Windows.

No, my argument is that the point is moot. If a task_struct on linux does not trigger an address space switch it is a thread. While to the kernel they are (regrettably) the same entity, they still have relevant performance characteristics of windows {process, thread}; the difference in cost is the cost of switching address spaces. That cost appears in either operating system. If there is any difference from the way Windows handles threads it is simply negligible in terms of this benchmark.

Thanks for posting test results. I am using Tree Style Tabs extension for FireFox and have _lots_ of tabs open all the time.

Now I don't need to test myself if I should switch to Chrome :-)

Interesting. This doesn't match my experience at all.

When I have lots of tabs open in Firefox, there are occasional pauses where everything, including the browser's chrome, freezes. I've never noticed these pauses in Chrome.

And yes, I do open hundreds of tabs. (As a side note, Chrome's far smaller minimum tab size is a major bonus for my usage, simply because I can see more tabs without scrolling the tab bar).

you need Firefox 8 to feel the improvements

Perhaps, but if this test is accurate, Chrome has also gotten far, far worse in recent versions. I find that surprising.

This test isn't about having lots of tabs open, but having lots of tabs opening, all loading at the same time.

Ok. So, apparently, it's testing a usecase that doesn't happen in normal use. So why should I care?

You don't have to? This was a blog post written by a guy whose job is to care about Firefox's memory usage. Most of his work goes into improving every day memory usage, but he thought it would be interesting to see what happens in an extreme case. Chrome is the main competitor, so he ran the same tests against it, so there was something to compare to.

No doubt some portion of people upvoting this article are invested in a Firefox v. Chrome narrative, but that really wasn't the point of the original article.

Interesting to see this being done on a more "normal" amount of tabs. That depends from user to user but IMO a ~50 tab for a power user.

Really interesting. I wonder how these would have fared on Windows (Windows having a different threading system to pthreads)?

This has been what I've experienced for more than just the latest versions. In personal usage the crossover between Chrome and Firefox has always been in the neighborhood of 20-30 tabs. Past that. Chrome has always seemed more sluggish (and less usable, given how tiny the tabs get).

Likewise. I typically keep open a large number of tabs, opening a pile of links at once and then going through them during the working day. At any one time, I tend to have a hundred-odd tabs open.

Although to be fair, firefox isn't too happy with that workflow, either - but I blame that partially on flash and javascript.

Wow. So many people with an ungodly number of open tabs. Think you guys need to check out Instapaper and a bookmarking service such as Diigo. You'll be much happier and both you and your computer will be much more productive.

I've had the contrary experience with FF4 and Chrome... Chrome is like lightning

Except - as multiple people already mentioned - this article is about the Firefox Nightly, which currently means Firefox 8. There are huge differences between FF 4 and FF 8 (or 4 and >5, for that matter).

But I bet chrome is smoother - firefox goes crazy if I have one tab doing something heavy duty, all the others are sluggish. Still sticking with firefox though because of some plugins.

I find Firefox using up 25% cpu a lot with 40-50 tabs open whereas chrome (on win 7 64-bit) is nowhere near that; similar memory usage... so I use Chrome more...

Chrome lately has been really slow for me and GIF performance is terrible (but I guess this is a webkit problem).

which kind of pro google mod changed the link title to something that meaningful? lol.

Interesting test, but the real world usability significance of this are minimal.

Now, if Firefox auto updates in the background like Chrome, I might consider giving it another chance. When I want to go on the net, I don't want to wait for my browser to update.

Chrome doesn't update in the background. It downloads the update in the background, then applies it at startup the next time it starts. It just doesn't tell you it's doing that, so you get a slow startup with no explanation of why.

The "tell you" part is the only difference between the workflow for current Firefox updates and Chrome updates, in fact... And yes, Firefox might start doing them silently precisely because of the purely psychological issue you describe.

>Chrome doesn't update in the background.

How do you know that? I assumed Chrome did update in the background because it uses Google's Omaha project, which supports updating when the system is idle.

"attempt to update application when the user's machine is idle"


Oh, it may be able to update "in the background" if the browser is not running. I assumed you meant updating while the browser is running so the update is ready to go the next time you start the browser.

For my use cases, the two situations are actually equivalent, since my browser starts at boot and only shuts down with the OS or when I decide I should really install the security update.

Firefox does that in 5, at least as far as I can tell. It also updates addons silently. The only reason I've noticed things were being updated is addons that show a "what's new in this version!" page.

For me (and apparently a large number of people in this thread), I won't consider switching to Chrome until they get more powerful extensions, namely TreeStyleTabs and Vimperator/Pentadactyl. The current stand ins completely pale in comparison.

Absolutely disagree. I have 100 tabs open in general.

Ah yes and then when one tab crashes you lose all 100 tabs. Brilliant!

plugin-container, which effectively runs in a different process, has solved that issue for me. I haven't had a FF tab crash in months.

If you read the article carefully, in Chrome when one tab crashes in this situation you only lose ... half your tabs.

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