Monday, August 3, 2009

Google Chrome 3.0: Obesity as a Way of Life

We received a tremendous response to our previous series of entries documenting the expansive memory requirements of today’s multi-process web browsers. At the time, Internet Explorer 8.0 had just entered its second beta release, while Chrome 1.0 was still under wraps at Google. Both proved to be massive memory hogs, requiring tens of megabytes of RAM to render each opened tab.

Eight months later, and the web browser landscape has changed dramatically. Internet Explorer 8.0 is now a shipping product and bundled with Windows 7, while Chrome 2.0 is currently Google’s latest “soft RTM” version of their nascent browser (with version 3.0 undergoing a very public beta). Meanwhile, the Mozilla folks have shipped a major update in version 3.5 – though, like its predecessors, it remains a single-process application.

Given the number of recent developments, we felt it was time to revisit our original test series and to update the data points to reflect the new “state of the art” in both browser and OS technology. Using the same set of eleven target web sites, and updating the OS (Windows 7 RTM) and browsers (Chrome 2.0.172.39, IE 8.0.7600.16385, Firefox 3.5.1) to the latest versions, we once again executed our test methodology.

Note: As before, we relied on the free tools and resources of the exo.performance.network to monitor and record system and process metrics from each test scenario.

image

Figure 1 – Browser Working Set (MB)

The first thing to take away from this latest data set is how Chrome 2.0 is now more RAM-efficient than IE 8.0. Previously, Chrome was slightly “fatter” than IE 8.0, at least in terms of shared code (Working Set). However, in our revised testing, Google’s browser consumed roughly 18% less RAM when rendering the same pool of web sites in a multi-tab (one site per tab) configuration.

Unfortunately, Google’s victory was short lived as the latest beta release (3.0.196.0) of Chrome 3.0 proved to be quite a bit hungrier in terms of RAM consumption. Chewing up an impressive 451MB of RAM, Chrome 3.x easily out-gobbled IE 8.0 by 5%, and topped its own immediate predecessor, Chrome 2.0, by 24%.

image

Figure 1 – Browser Private Bytes (MB)

Things looked even worse for Chrome 3.0 when the discussion shifted to Private (i.e. non-shared) Bytes. Here, Chrome 3.0 consumed a staggering 565MB of RAM – a half-gigabyte – while rendering our target site list. By contrast, Chrome 2.0 used just over 360MB, while IE 8.0 chewed-up 378MB to render the same sites.

Of course, we would be remiss if we failed to mention how the latest iteration of the single-process Firefox measured up to its multi-process competitors. In terms of Working Set size, Firefox consumed roughly half as much RAM as Chrome 2.0, and a third as much as Chrome 3.0. Needless to say, if you’re looking for the mainstream browser with the lightest RAM footprint, Mozilla’s Firefox 3.5 is still your best option.

Bottom Line: Google’s browser-cum-OS project has once again reset the bar for “fattest”Internet application. In its current incarnation, the Chrome 3.0 beta consumes roughly three times as much RAM as Firefox, and even outpaces the bloated IE 8.0 in the race to consume all available memory. Given the above revised data points, we can’t help but fear for any future (e.g. Chrome OS) that involves Google as the primary architect of our system software.

2 comments:

Darryl de Necker said...

Don't know where you get your data, but my Firefox 3,5 is running on 500MB of ram usage, with Chrome 2, much lighter.

What I like about Chrome is that it uses seperate ram packages, so if I close one window oor tab, I get the ram back, which Firefox keeps. So if you don't restart Firefox every now and then, you can never get the ram back.

Besides that, I like searching directly from the Chrome address bar, which you can also do from Firefox, yet not as efficient, and why do they have a separate search bar?

I won't mind the extra ram usage on Chrome 3, as long as they keep on using it in separate packages, as they do now, with every window or tab allocated its own ram resources.

Anonymous said...

Very interesting. I had noticed that Chrome had changed in the way certain things operated but I wasn't notified that updates had taken place. But, after some overheating issues with my laptop I discovered that Chrome had over the last couple of months been the culprit.

I had just switched to Opera when I thought I'd do a search to see if others saw Chrome ballooning which is how I found your article.

As Darryl points out the separate processes for each tab is a fairly unique concept and while it seems like a good idea I have found that the bulk of the problems with overusing system resources are to be found within the main chrome process. If you look under task manager you will see several "Google Chrome"s , one big one and several small ones for each tab. Close all the small ones and you will see no difference.

Anyway, Chrome isn't secure without Privoxy and Privoxy works on Opera as well. Opera runs smoother and is far more comprehensive. Firefox is perfect once you know which extensions to install. I have about ten that I couldn't imagine going without: noscrip, adblock, flashgot, download statusbar, nuke anything, image zoom, pdf download, undo closed tabs button, etc.

but, for frilless perfection you have to go with K-Meleon SM2 (modded) Browser. The SM2 modified K-Meleon Browser has the optional toolbar that can be enabled that about a dozen security buttons that you can toggle. for example java on off javascript on off show images on off etc.