More Efficient Memory Management

Fire up an IE7 window with 10 tabs in it and you’ll see this in your Task Manager:

A single iexplore.exe process that spawns a number of threads. The same goes for Firefox and Safari. The problem here is that if a single tab causes the process to crash, all of your open websites go with it. Chrome treats each tab as an individual process, which adds a little more overhead but the benefit is a single website won’t cause all of your other browser tabs/windows to crash.


You shouldn't lose all Chrome windows/tabs due to one misbehaving website/app

A single webpage stalling also won’t cause the rest of the tabs to stall, while the tabs in a Chrome window look physically connected, they are as independent as they get.

Chrome, as a result, will take up quite a bit of space in Task Manager:

Making each tab its own process means that you get memory back from closed tabs much quicker and much more efficiently than with other browsers. Consider this test: 1) Visit www.anandtech.com, 2) open tabs for digg.com, docs.google.com (and login) and www.facebook.com (and login), 3) Close the latter three websites.

I performed that exist test, in that order, and measured memory size after each step. The results are below:

Websites Google Chrome 0.2.149.27 Internet Explorer 7.0.6001.18000 Firefox 3.0.1 Safari 3.1.2
Just AnandTech.com 26MB 30MB 30MB 48MB
AT + Digg + Google Docs + Facebook 105MB 97MB 87MB 104MB
AT (After closing 3 tabs) 38MB 78MB 70MB 107MB

 

Just viewing AnandTech alone, Chrome ended up being the most efficient browser with a 26MB footprint compared to 30MB for Firefox 3.0.1, 30.1MB for IE7 and a whopping 48MB for Safari 3.1.2.

Adding the other three sites brings the totals up to 104MB for Chrome, 104MB for Safari, 96MB for IE7 and 87MB for FF.

It’s closing the tabs that’s the most interesting: only Chrome actually frees up memory upon closing tabs. Chrome’s footprint is still larger than its original 26MB at 38MB, but the remaining three browsers continue using at least 70MB. The argument here is that these other browsers already have memory allocated should you open additional tabs, unfortunately you can quickly run into memory fragmentation issues with the conventional approach should the new tabs require more memory than the ones you just closed.

With Chrome, each tab is its own process, when you’re done with a tab - close it and you get all your memory back right away. You get more efficient usage of memory for newly created tabs.

The independent tabs are also physically independent within the UI, you can drag any tab out of a window and into another one or make it a new window by itself.

Chrome’s multi-process approach is also theoretically better for multi-core systems since you don’t have to worry about exploiting parallelism within a process, you’ve got process-level parallelism giving you more than enough threads to distribute across many cores. Thankfully web browsing isn’t the most CPU intensive and this process-level parallelism doesn’t amount to a huge performance benefit.

Index Other Geeky Stuff
Comments Locked

105 Comments

View All Comments

  • cousin333 - Friday, September 5, 2008 - link

    First of all, Chrome looks good. I like it's clean and simple design. With default design, I must add, while 1, so far it cannot be changed 2, other browsers can be heavily costumised (hence simplified). I'm usually using Opera, with a costume interface without search field and menu bar, consisting of 3 navigation buttons, the Trash button, and a button for the whole menu. And of course, URL and tab bar. That's all. I do have titlebar, but using a 70% sized skin, I have more space in Opera than in Chrome.

    One thing is sure: Chrome IS fast (most of the time), and starts fast (although the latter one doesn't bother me, I don't start my browsers too often). JS also seems pretty fast. Not much to comment here.

    It seems however, that poeople at Google sit down and looked at the other browsers to decide, what function to take from them as their "innovation". Let's see:

    IE8b2:
    - processes for each tab
    - URL domain name highlighting

    Firefox:
    - download statusbar
    - adding bookmarks
    - password manager

    Safari:
    - WebKit :)
    - the way tabs can be rearranged
    - speed and simplicity (UI and lack of settings)
    - the way of autocomplete of URL-s, so that the first suggestion is used by default

    Opera (more comment here):
    - Speed Dial (Opera uses fixed sites, Chrome goes with most visited sites, I found Chrome' solution to be disturbing and somehow illogical, while it listed also about:memory for me)
    - tabs over URL bar (I found it more logical than the opposite)
    - "multi-level back" can be reached by clicking and holding mouse over Back button for a while
    - downloads go to a new tab (can be reached with Ctrl + J) not a new window
    - full history search
    - undockable tabs

    Other common functions
    - inline find (this is actually not a copy from Opera, but it's the only browser comparable to Opera regarding speed, I especially liked the hits marked on the scrollbar)
    - intelligent URL bar (QuickFind, Awesomebar, OmniBar, ... whatever) I guess Opera's and Firefox's solution is better than OmniBar, and it looks a bit ugly to me (or just don't feel right)
    - adding new searchfields (Chrome tried to be simple, but it became a bit frustrating. Opera and Firefox is better in that field)

    What I've missed:
    - ad-block feature (hence understandable from a company making money from online advertising)
    - RSS reader (I guess they will use their own online Google Reader thingy)
    - very few costumisation possibility
    - mouse gestures
    - lack of commonly used context menu entries
  • cousin333 - Friday, September 5, 2008 - link

    Uuups, I've missed one of my points - about this article:
    Although Opera has a small marketshare, it would be nice of you to - at least - mention it, for, as you can see - Chrome includes many cool features taken from Opera. You stealed from Opera it's rightful marketing opportunity (at the right of being an innovator).
  • jtleon - Friday, September 5, 2008 - link

    Yo,

    WTH!!!

    NOT EVERYONE ON THE PLANET IS RUNNING XP OR VISTA - GEEZ I CAN'T EVEN DOWNLOAD CHROME - ON A WINDOWS 2000 MACHINE!
  • HKPMACK - Friday, September 5, 2008 - link

    Google is not creating a browser to do us any favors.
    Did you guys even look at the original license?
    http://www.boygeniusreport.com/2008/09/03/google-c...">http://www.boygeniusreport.com/2008/09/...chrome-a...

    The big reason google wants to control your browser is to make sure you can't bypass its advertising... they want you to use chrome because Firefox has Ad-Blockers... they want to track your browsing habits.

    If they OWN the browser they get to do that way more and you can't stop them.

    BTW, to those who don't believe it... Google already changes the license in just a few days after the "public outcry".
    So, whats the big deal?

    Frankly, I am disgusted by both the voracity of the license and the fact the license "changes" are "retroactive" and not requiring ANY notification.

    If google can make sweeping license changes that to remove the bad language ie to paraphrase "they own all content we submit..." then they can also ADD new language later on... using the same "we have the right to make changes... so look here... and make sure each time you browse, that we did not just steal all your intellectual content."

    Forget it.

    In fact, I am so outraged by licensing stance that google chose, (NOTE per their own reps they use similar language for ALL their products)... that I have decided to switch my browser's home page to altavista.com

    Google should DUMP the browser market... its quite clear that their intentions are not in my best interest.
  • HKPMACK - Friday, September 5, 2008 - link

    Oh and here's some more on it...
    http://www.dailytech.com/article.aspx?newsid=12856">http://www.dailytech.com/article.aspx?newsid=12856

    Again... they just "changed" their license without any notification.

    And they can update it too, just like Microsoft wanted to do with their OS...

    NO thanks Google.
  • deeznuts - Thursday, September 4, 2008 - link

    Excellent article on Chrome, I like the browser it is quite fast. However, today I noticed my fans started blaring at work. Looked up task manager, and my CPU is at 70-90% capacity constant. Not sure what it is, I go to processes, and chrome is the culprit. I noticed I had two tabs on NFL.COM. I close those two, and everything is back to normal. I open IE7, go to NFL’s site again. At first the cpu usage spikes but then it drops down to normal. I open the sites again with Chrome, and the usage spikes but stays up.

    Can anyone else try NFL.COM and see if it's giving them fits?
  • Mr Roboto - Thursday, September 4, 2008 - link

    Aren't Opera and Chrome both using Webkit? I think Anand is trying to show the memory footprint of each different type of rendering engine.Therefor Opera isn't needed as it's base is the same as Chrome.
  • cousin333 - Friday, September 5, 2008 - link

    No, Opera always used it's own rendering engine. Today, it's named Presto.
  • Yongsta - Thursday, September 4, 2008 - link

    Chrome is pretty awesome. It fly's on my home desktop (Q6600, 4GB Ram). However on my desktop at work (Barton 3200, 1GB Ram) it becomes very slow when I have multiple tabs open (and processes). So, I'll stick to Firefox 3 at work.
  • ChronoReverse - Thursday, September 4, 2008 - link

    I notice that with somewhat heavy browsing, it'll often grind the system for a bit. Usually after opening and closing various tabs.

    It also doesn't help that flash runs really slow for some odd reason.

Log in

Don't have an account? Sign up now