display | more...

Google Chrome is a web browser invented and written by those chaps at, as the name implies, Google. It is intended to be a standards-compliant web browser designed for robustness and simplicity, intended to stay out of your way and let the web site be the interface. It is designed for efficient use of web applications such as GMail and Google Docs, and includes features to allow them to be gracefully launched directly from your Desktop.

Google Chrome can be considered to be at an early point of the web browser life cycle, as it has indeed just launched (or, more accurately, is in beta, much like Google Docs, GMail, and Picasa). Like the majority of other web browsers, it was created to solve a real or perceived weakness in its wide variety of competitors. Google's focus is on the disrespect to web applications. Google Chrome's ideal is to treat them as first-class entities within the computer instead of a side script the web browser just happens to run. Instead of sharing process-space with the drawing thread of the browser, each script is given its own process. Similarly, each tab also has its own separate process, instead of being an alternate thread or simply data within the same browser process. From the operating system's perspective, they are very nearly independent programs.

This has a number of advantages. Firstly, the operating system security model works much better against untrusted applications (or pseudo-applications: processes) than individual threads, as it is much better suited to deny access control in the former case. Individual thread rights require active sandbox management on the part of the host application, and that leaves an extra attack surface potentially open to exploits: a hole can be found in either the application or the operating system, instead of only the latter.

When the operating system is forced to kill a process, it cannot be selective; it must halt the entire process, and sometimes an entire process tree; it has no ability to know that only killing one of its threads will allow the program to lurch forward and stagger onwards with its life. This is why, in most web browsers, one haywire script that causes an access violation will crash the entire browser: the OS must take down the whole application. Similarly, the entire application must be stopped to fix a hang consuming all available CPU cycles. A separated-process model therefore allows the separate parts of Google Chrome to crash separately. Google handles this with a picture of a "Sad Plugin" or a "Sad Tab" (a tribute to Sad Mac) and a unique error message if one of its processes halts unexpectedly, significantly better behavior than losing the entire program.

Unfortunately, this extra reliability comes at a cost: system resources. Each tab and script requires its own memory space and handle in the process table, draining in the former case memory and in the latter case CPU cycles every time the operating system needs to do something to its own list of processes. Google Chrome therefore slows down an entire computer more quickly than its competitors when measured in performance degradation vs. number of open browser tabs. Windows is also aware of every tab as another instance of chrome.exe, so Task Manager will, on its Processes tab, show each one as a separate process, spamming the index and making it nearly impossible to determine which instance refers to which tab. (If a tab has hung, however, it can be identified as the one eating 99% of your CPU time.)

My opinion? Nice idea with a good layout, but the performance hit is too severe relative to how I use the Internet. I typically have forty to one hundred tabs open at any one time, and even my high-spec gaming machine bogs down under the load. I certainly wouldn't want to subject my netbook to such abuse- but then, I don't load it under as many tabs anyway. Worth a try, but keep an eye on performance.

Log in or register to write something here or to contact authors.