11 ms·
Scalability
- beaumartinez 15y agoReally interesting. I wonder how these would have fared on Windows (Windows having a different threading system to pthreads)?
- blackRust 15y agoInteresting 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.
- mootothemax 15y agoIt 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 ;)
- ootachi 15y agoWould you honestly prefer it if browser manufacturers compared pre-release versions to shipping versions? Seems to me that would be far worse.
- starwed 15y agoWell, 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.
- tytso 15y agoPerformance 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?
- zobzu 15y agoFirefox 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.
- silon 15y ago>But you can forbid it to access other memory areas for security Not in C/++ in any standard definition of "thread".
- zobzu 15y agoWhat 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.
- tptacek 15y agoEvery browser does that. Virtually all the problems that matter are internal to the browser.
- zobzu 15y agothats 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.
- tptacek 15y agoI 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?
- traldan 15y agoThis 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).
- FeministHacker 15y agoLikewise. 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.
- emilis_info 15y agoThanks 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 :-)
- PanMan 15y agoI 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.
- zobzu 15y agoI'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)
- nfm 15y agoI'd also assume that the author was using a new profile with no cache for each test run.
- unicornporn 15y agofor 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-tab/ https://addons.mozilla.org/en-US/firefox/addon/tree-style-ta... ) extension.
- rmccue 15y agoPersonally, I find the Panorama feature helps with that, as does having a tab list. Does Chrome offer either of those?
- loso 15y agoThis 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.
- DanielBMarkham 15y agoMy 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.)
- chrislomax 15y agoI 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.
- zobzu 15y agoThe 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.
- chrislomax 15y agoI'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
- tedunangst 15y agoI 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.
- nnethercote 15y agoYeah, FF4 had its problems. FF5 and FF6 fixed some of them, but I think you'll really like FF7. Try it out!
- chrislomax 15y agoI'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
- lysium 15y agoOpera'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.
- Tomis 15y agoOpera 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.
- zobzu 15y agoThe 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.
- icebraining 15y agoIt might be more difficult, but you can certainly automate opening a bunch of tabs using a script to send keypresses, no?
- donuttrunk 15y agosort 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.
- nolite 15y agoI've had the contrary experience with FF4 and Chrome... Chrome is like lightning
- slowpoke 15y agoExcept - 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).
- petegrif 15y agoI 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?
- xutopia 15y agoI've seen tab enthusiasts. They are incapable of tracking which tab they already have open and reopen the same one over and over again.
- sgift 15y agoNot 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.
- petegrif 15y agoPlease 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?
- zargon 15y agoI 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-manager/ https://addons.mozilla.org/en-US/firefox/addon/session-manag...)
- sid0 15y ago
- scott_s 15y agoWindows, 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.
- nicocompass 15y agoHow 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.
- scott_s 15y agoI 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.
- rpearl 15y agoProcesses 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.
- scott_s 15y agoRight, 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.
- narkee 15y agoAnyone 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.
- derefr 15y agoI'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.)
- access_denied 15y agoWhat were tabs built for then?
- smackfu 15y agoI 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.
- acangiano 15y agoI'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 http://anynewbooks.com, even though the process is quite different thanks to a ranking algorithm that preliminarily sort the books in a sensible way.
- AndyZ3 15y agoI 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.
- rrrazdan 15y agoThis 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.
- mgkimsal 15y agoChrome 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).
- rlander 15y agoRecently 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.
- mun2mun 15y agoMy 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)
- knodi 15y agoChrome lately has been really slow for me and GIF performance is terrible (but I guess this is a webkit problem).
- ori_b 15y agoInteresting. 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).
- zobzu 15y agoyou need Firefox 8 to feel the improvements
- ori_b 15y agoPerhaps, but if this test is accurate, Chrome has also gotten far, far worse in recent versions. I find that surprising.
- starwed 15y agoThis test isn't about having lots of tabs open, but having lots of tabs opening, all loading at the same time.
- ori_b 15y agoOk. So, apparently, it's testing a usecase that doesn't happen in normal use. So why should I care?
- starwed 15y agoYou 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.
- jokermatt999 15y agoJust 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.
- tom9729 15y agoCategorizing tabs into separate windows and using virtual desktops.
- RyanKearney 15y agoAh yes and then when one tab crashes you lose all 100 tabs. Brilliant!
- icebraining 15y agoplugin-container, which effectively runs in a different process, has solved that issue for me. I haven't had a FF tab crash in months.
- bzbarsky 15y agoIf you read the article carefully, in Chrome when one tab crashes in this situation you only lose ... half your tabs.
- ck2 15y agoBut 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.
- adrianscott 15y agoI 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...
- brianb722 15y agoWow. 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.
- rajpaul 15y agoInteresting 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.
- bzbarsky 15y agoChrome 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.
- rajpaul 15y ago>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" http://omaha.googlecode.com/svn/wiki/OmahaOverview.html#Scheduler_007823295652064743_5_09283186493616913 http://omaha.googlecode.com/svn/wiki/OmahaOverview.html#Sche...
- bzbarsky 15y agoOh, 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.
- jokermatt999 15y agoFirefox 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.
- tjoff 15y agoHumm. 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).
- nnethercote 15y agoFirefox 7 and 8 (both in development) are much better behaved over long sessions. You should give one of them a try.
- blasdel 15y agoBy 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.
- zobzu 15y agowhich kind of pro google mod changed the link title to something that meaningful? lol.