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

  • Reikon - Wednesday, September 3, 2008 - link

    Especially when they borrowed several features from Opera.
  • - Wednesday, September 3, 2008 - link

    There are definitely elements from Opera and only Opera in this browser. I am surprised this is not based on Gecko.
  • alin - Wednesday, September 3, 2008 - link

    Here's one :D

    By the way. Good browser. So far :p
  • ehnejafcrrjj - Saturday, August 29, 2020 - link

    82201 97927 45860 97677
    http://bitly.com/1ntFjX
    12440 94694 87329 64290
    http://bitly.com/1ntFjX - Вратарь Галактики смотреть онлайн 86208 88837 71283 61638

Log in

Don't have an account? Sign up now