Chrome Vs. IE 8
snydeq writes "Google Chrome and Internet Explorer 8 herald a new, resource-intensive era in Web browsing, one sure to shift our conception of acceptable minimum system requirements, InfoWorld's Randall Kennedy concludes in his head-to-head comparison of the recently announced multi-process, tabbed browsers. Whereas single-process browsers such as Firefox aim for lean, efficient browsing experiences, Chrome and IE 8 are all about delivering a robust platform for reliably running multiple Web apps in a tabbed format in answer to the Web's evolving needs. To do this, Chrome takes a 'purist' approach, launching multiple, discrete processes to isolate and protect each tab's contents. IE 8, on the other hand, goes hybrid, creating multiple instances of the iexplore.exe process without specifically assigning each tab to its own instance. 'Google's purist approach will ultimately prove more robust,' Kennedy argues, 'but at a cost in terms of resource consumption.' At what cost? Kennedy's comparison found Chrome 'out-bloated' IE 8, consuming an average of 267MB vs. IE 8's 211MB. This, and recent indications that IE 8 itself consumes more resources than XP, surely announce a new, very demanding era in Web-centric computing."
Stick Chrome with iPhone and you can run them stories to fill up a whole week.
Fuck systemd. Fuck Redhat. Fuck Soylent, too. Wait, scratch the last one.
>"surely announce a new, very demanding era in Web-centric computing"
Yep, an era that won't sit well for users of thin-clients, multiuser servers, older machines, and smaller mobile stuff. I think some of the ideas in Chrome are good, but I am not so sure I like the idea of ultra-fat browsers. I recently was complaining that Firefox was starting to get bloated (defeating the goal of FireFox, to be lean and mean). I don't mind different concepts, except the design of web sites will, no doubt, start demanding more and more "fatness" to work (kinda like trying to use the web without Flash).
Now I will go crawl back under my 90's rock...
...surely announce a new, very demanding era in Web-centric computing.
How is this a bad thing? Modern browsers are far more demanding than Mosaic, because they do more. There's absolutely nothing wrong with having a more demanding browser if you need the increased requirements to add functionality... that's the point of advancing our hardware capabilities!
Next thing you know, people will be complaining that it takes more muscle to run a 360 game than it took to run an Atari game. Jeez.
"16MB (fuck off, MiB fascists)" - The Mighty Buzzard
Microsoft was unfazed. "Browsers donâ(TM)t need to be integrated with online apps," said marketing developer Ian Moulster. "Certainly not like the operating system ... Iâ(TM)ll just get back to you."
http://rocknerd.co.uk
It's hype. By the time you ad in all of the mind-numbing widgetry, the browser becomes the ultimate in madness. It proves the old adage that when you get a really nice hammer, everything looks like a nail.
Mod me whatever, but browsers need to go on a diet so that there can be cross-platform coherency and cohesiveness for apps, whether it's on a phone, a kiosk, a notebook, an HD TV DVR display, or whatever. I want the same page to display the same way on Konqueror, Safari, IEWhatever, Chrome (please, a marketing guy needs a spanking), Opera, or whatever. Stop for a while and get it right guys.
---- Teach Peace. It's Cheaper Than War.
Can somebody explain to me why resource limits are still an issue in Windows? I usually keep 25-40 tabs open in FF, and after it gets over the 350MB range, the whole browser starts to act flaky. Why is 211MB, 267MB, 350MB or even 500MB a problem on today's platforms with 2 to 6GB RAM standard?
There are two kinds of people: 1) those who start arrays with one and 1) those who start them with zero.
That is actually something I have used in the past- intentionally slowing things down to really see how they perform. One of the best ways under Unix/Linux is to use an Xterminal to which you restrict the bandwidth. Of course, you can get the same effect by just running the Xclient remotely through ssh from another Linux machine, across a slow connection. Then you can "see" and "feel" what might not be evident on fast LAN connections.
When working with thin clients, it is a good way to see how things might behave if you were to scale up the number of users on a centralized system.
i'm trying it in the only windows machines i have at home: a 700Mhz P3 laptop with 256MB RAM and XP SP2. it's slightly faster than FF3, and a lot better than FF2 on this machine.
maybe on bigger machines it will use lots of RAM, but on limited machines its really good
-Kz-
As I understand it, multiple processes don't necessarily mean more bloat. If a set of processes are all running the same executables and libraries, then the code is all mapped into physical memory only once and shared between the processes.
At least under Linux, using fork() and copy-on-write paging makes multiple processes highly efficient. Maybe it's a bit tougher to do under Windows (which lacks a fork call), but it seems to me that careful coding could get close to the same results.
In the old style multi-tabbed environments(Firefox, Opera), if one tab crashes, all tabs crash. That's fine if all you're looking at is web pages, because both of those browsers can pull you back up to where you were page wise. But in the era of AJAX and responsive web applications, just reloading the page with your previous session settings isn't enough, because it won't be the way you left it.
IE has been able to create separate process for each instance of the browser for quite some time(mostly because internet explorer and explorer used to share code and crashing one would crash the other which wasn't good), but until IE 8/Chrome it hasn't been done for tabs before.
The upshot of this is that if one of your tabs misbehaves, theoretically your other tabs ought to be fine, the downside is that it means that each tab uses significantly more resources than it would otherwise because state which would otherwise be shared amongst all tabs has to exist for each and every tab.
So basically yes, page complexity is what is causing this to be necessary, but no it's not what is creating the actual increase in resource consumption. I also agree that ditching complexity wherever possible is a good thing(flash,javascript,etc where you don't need it is just plain silly), but rich web applications are a good thing and they're here to stay.
They measured the working set, not the private working set. One of the big reasons why Chrome's "spawn a bunch of different processes, all running the same code" strategy isn't a big deal is because Windows shares memory between copies of code when it can.
So, in other words, his comment actually conveyed the precise opposite of "irony."
How ironic.
Simply inserting an a href linking to "evil:%" crashes chrome. ALL of chrome. While this is acceptable in a beta product, I don't buy the graceful, tab-only crashes they're promising.
Acid 3 Test, IE8: 14/100 Chrome: 78/100 Enough said. IE8 is another pathetic attempt at a good browser. As a web designer and developer I can tell you I look forward to mass acceptance of the final version of Chrome. Under no circumstances do I EVER expect to look forward to IE, any version.
found Chrome 'out-bloated' IE 8, consuming an average of 267MB vs. IE 8's 211MB. This, and recent indications that IE 8 itself consumes more resources than Vista, surely announce a new, very demanding era in Web-centric computing."
Whatever happened to the web being called thin clients. That sounds morbidly obese
Just because something takes up more resources doesn't mean it has to be slower. Granted, something that takes less resources usually runs faster, but a good application that makes good use of RAM and CPU power can seem fast.
Taxation is legalized theft, no more, no less.
This might sounds like blasphemy on slashdot... but there are some things that are TOO rich.
How about this? Put flash in a separate process, and problem solved. 99.99% of all my crashes in Firefox are due to the Flash plugin for Firefox (most of them in youtube)
I definitely plan to stick to Firefox. First of all, if it ain't broke, why break it?
A single plugin in a single tab can take down the entire browser; I think that qualifies as broken :-/
I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
Forget the iPhone.
The amount of damage control and FUD coming out of the Firefox camp is enough to fill every news and discussion board on the Net.
Mozilla has no one to blame but themselves for getting humiliated by Google and Chrome.
How many people here on Slashdot have talked about exactly what Google did with their V8 JavaScript engine and the protected memory and threading for tabs?
Only to be flamed by a Mozilla developer or fanboy?
There are too many people who seem to emotionally attached to Firefox. It's just a fucking browser. Dumping Firefox and wwitching to Chrome yesterday had that same feeling of dumping IE years ago.
The same pathetic arguments and FUD that came out of the hardcore Microsoft/IE crowd are now being mimicked by the hardcore Mozilla/Firefox fanbase and developers.
The stinking pile of crap that is the Firefox codebase isn't going to magically fix itself and bring itself up to Chrome standards. Mozilla developers had the past two years to get their shit together and they chose to play the same stupid denial and flame games they did with their atrocious memory leak problems.
Mozilla is lucky the extension API isn't finialized in Chrome with and working ad block and flashblock extension.
Chrome right now is the browser everyone has been dreaming of. Been running since the moment I downloaded it yesterday. No crashes and it feels like the first time I upgraded from a cooperatively multitasking OS to a full preemtively multitasking and memory protected OS.
Bye bye Firefox. You won't be missed. Hacking on the high quality Chrome codebase is a joy. And the Google developers are incredibly friendly and helpful.
I don't mind that it uses a lot of RAM so much...I have plenty of that. I wish it didn't use so much CPU, though. I've been using Chrome for the past day or so, and had to stop leaving it open while I was working on other things because every so often it would bog down my CPU for no apparent reason.
ZuluPad, the wiki notepad on crack
Does anyone else think that benchmarking early builds is useless? Of course they're not particularly efficient yet - premature optimization and all that. Wake me when the final builds roll around.
(Of course, that brings up another issue: What the rest of the world calls "Version 3.0", Google calls "Beta". And what the rest of the world calls "Beta", Microsoft calls "Version 3.0".)
How can I believe you when you tell me what I don't want to hear?
And by running tabs in separate processes, Google sidesteps the need for a native 64-bit browser and *plugins*.
After all, 2GB per tab should be enough for everyone.
throw new SuccessException("Sig read successfully");
Most browser's codebases, at least for historical reasons, come from times when it wasn't common practice to isolate parts of things... Part of it was performance, part of it was simply that it wasn't the culture of the time (like using the safer string handling functions in C/++), etc.
Now, as to why a newer browser wouldn't do it...beats me.
The article mentioned in the summary states that IE8 (beta) consumes more resources than XP, not Vista. That's quite a difference I think..
I wish some people would just download Chrome and give it a shot instead of theorizing about why it's broken based on "bite-size videos", and then comment. There's nothing useful to *see*, really, it's a browser with a simpler UI. There's no integration with Google Search, nothing that Firefox doesn't have as well, anyway. But, it's so damn fast, very noticeably faster than Firefox, and you'd see that if you just took the time to try it.
It's also more stable by design, but that will take some time to really appreciate (or realize that it's a bogus claim).
But, speed... you see that right away.
Never underestimate the bandwidth of a 747 filled with CD-ROMs.
Unless you have a 64-bit OS, you're limited in how much of that 6 GB of RAM you can actually use. I forget the exact limit, but I think you'll only be using ~3 GB of that due to various legacy hardware issues
There is some lie in your truth, and some truth in your lie. Or something like that.
The upper limit on 32-bit addressing is 2^32 = 4294967296 bytes. Which is, coincidentally, exactly 4 gigabytes. Any 32-bit copy of Windows can support up to that much.
Why, then, do some computers only report 3 GB of RAM available? It's not really lost - it's just a side effect of how Windows handles memory paging. Every program running on Windows is going to be using at least some part of the Windows API, so Windows reserves a portion of RAM for its own system files and locks it. (Why would you swap system libraries used by nearly every application out to disk? Ever?)
Additionally, this RAM gobbled up by Windows is mapped to every process. 512 MB or 1 GB isn't really "missing" - in fact, it's part of the shared memory space of every process, and every process can address it as if it really did own it.
The overlapping memory pages is kinda cool, but your computer actually is using all of that RAM you installed. Discrepancies depend on your motherboard logic, exactly how Windows decides to address that "missing" memory space (I honestly don't know what Windows does sometimes), and the presence or absence of Physical Address Extension hardware. (If your motherboard supports it, the Pentiums and up actually have pins for 36-bit memory addressing, which is why you can see computers in Circuit City running 32-bit Vista and reporting 4 GB (or more) of memory. Cheaper CPUs or motherboards just won't connect the extra pins, and you won't see a "PAE Enabled" or whatever in My Computer->Properties.)
Discuss!
DATABASE WOW WOW
IE has been able to create separate process for each instance of the browser for quite some time(mostly because internet explorer and explorer used to share code and crashing one would crash the other which wasn't good)
Recall that the old versions of Mozilla even had the mail client running in the same process. And for the longest time Firefox and Thunderbird shared no DLLs. It was a bad design decision from the very beginning.
Business. Numbers. Money. People. Computer World.
The description of the process model isn't that accurate. In both IE8 and Chrome the renderer process is shared across multiple tab groups. If you manually create a new tab that tab will have a new rendering process associated with it. If you click on a link and it opens in a new tab it will share the rendering process of the parent page. Chrome will show you this in the Task Manager as a single process which show a list of tabs.
The implementation of the rendering processes between IE8 and Chrome are strikingly similar, so much so that I am suspicious that Google borrowed some ideas from the public betas of IE8 which had this functionality since March. Both use the same behavior for sharing rendering processes as mentioned above. Both spawn the same image as the rendering process as the hosting browser process (iexplore.exe and chrome.exe), using command line arguments to pass channel information. Both use the Job API in Win32 to assign the rendering processes to security restricted jobs. Both use an IPC mechanism built on UDP messaging to localhost for the rendering processes to communicate back to the parent process, where plenty of other IPC options exist, and considering a lot of the Chrome code is Win32-specific they could have used platform-specific IPC for performance purposes without sullying the project.
Where Chrome differs is that unlike IE8 plugins are also loaded in isolated processes. It's a neat idea in theory but I think it will be problematic in practice. The browser shares one plugin process for all uses of that plugin, which I've already seen cause bottlenecks in resources on my machine trying to view several sites with Flash content. The plugin processes also have a lot of hard coded logic to deal with the nuances of the different plugins and how they behave. For example, there is hard coded logic to deal with the UI expectations of Flash where the content is rendered in the renderer process instead of in the plugin process, whereas with QuickTime the content is rendered in the plugin process and overlaid in the rendering process. In IE8 if a plugin crashes hard the tabs that contain the failing plugin would crash, but other pages would remain open potentially displaying other content using the same plugin. In Chrome if the plugin crashes hard it does so for every page displaying content with that plugin, although all of the tabs would remain loaded showing a placeholder where the content would be.
Open Firefox. Check memory usage. Open a lot of tabs. Close them. Check memory usage.
Open Chrome. Check memory usage. Open a lot of tabs. Close them. Check memory usage.
The memory usage at first may be larger, but at the end will be a lot smaller!
That's why I use nspluginwrapper. I run x86_64, so it is required if I want to use any i386 plugins, but it helps with the native plugins as well.
You don't see anything useful huh? Process separation improving security and responsiveness, UI improvements like Fitts'-law-obeying tabs, Incognito mode; those aren't useful to you?
Oh, and you do know that Chrome doesn't index your hard drive or send your browsing history to Google, right? It really doesn't have any more "integration" with Google Search (or GMail, or G-anything-else) than Firefox does. And you don't have to take Google's word for it because it's open source.
main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
As I understand it, windows tends to use threads in lieu of forked processes. You can use multiple processes with any kind of IPC you want, but windows won't have anything to do with them sharing memory.
I am not an expert win32 programmer however, I do know for a fact fork() is not supported, and so far as I know this means there's no way to do copy on write either.
Photos.
Enough with the stupid "memory consumption" pseudo-benchmarks. It doesn't "consume" your memory, it uses it. If I have 2 or 4 or 8 GB sitting there, why would I want my software to not use it? What do I possibly gain by having a program that uses only 100 MB when it could be using 1 GB to keep more rendered pages in memory (and speed up the display when I hit "back" a couple of times), for example?
If the browser refuses to run with less than, X MB available (ex., less than 30 MB), that can be a problem. But if it simply uses memory that would otherwise just be sitting there, how is that a relevant (or negative) thing?
I keep remembering that article where someone from the Mozilla foundation said very proudly that Firefox used less memory than Opera (on Windows), making it "superior". But when you look at situations where memory really matters, you find that you can run Opera on pretty much any cellphone but you can't run Firefox. There's a difference between using less memory and needing less memory.
On a PC, I'll trade 100 MB for a 10% speed increase (in page drawing, tab switching, etc.) any day. One of the reasons I like Opera is that (since years ago) it keeps rendered copies of the previous pages in memory, plus a ful index of your e-mail, so you have instant page flips, instant mail searches, etc..
Don't install that plugin?
Seriously, I run noscript and a couple of dev plugins, and that's it with only rare lockups. This would be on OSX, Linux 64bit, and XP.
The cesspool just got a check and balance.
Somebody I know had this happening to them, turning off the malware/phishing site definition files being downloaded fixed this (it downloads a new file about every 3 seconds if you look at about:network)
"We need to get over this notion, that, for Apple to win... Microsoft must lose." - Steve Jobs, 1997
This is not entirely true. Normally the BIOS will remap IO address space above system RAM, but on 32 bit hardware (with or without PAE), the BIOS will generally reserve a hole somewhere between 3GB and 4GB. Depending on your specific hardware, this hole might be pretty big. For instance, if you have a 512MB video card, that memory gets mapped into the system address space, and you lose the same amount of system RAM for the privilege. There are some BIOS that will allow you to map this memory above 4GB but drivers sometimes flake out when you do that; plus you have to run a 64bit OS at that point too.
You will never see a 32 bit vista machine report more than 4GB of ram as it's simply not supported. (Makes you wonder why they turn on PAE by default since it slows down memory access?? A vendor turning PAE off is probably just smart.) You will, however, see vista report 4gb in the computer properties -- but it's more of a marketing trick. 32 bit windows will only allocate 2GB of address space to user processes anyway and 3GB only with a special boot switch (that you have to be careful with.)
As far as your claim that some cheap motherboards do not connect the PAE pins, that's also somewhat misleading too -- the pins are all there anyway -- its just the feature was left out of cheap junk northbridge chipsets... but this was back in the Pentium III days. It's very doubtful you can even find a board anymore that does not support PAE; especially since pretty much all current model CPU's have 64 bit support.
One could almost say that Chrome is less integrated with Google Search. One of the only things I'm missing in Chrome is FF's Awesomebar's "I'm Feeling Lucky" behavior.
I can type "wiki somethingrandom" and it will take me straight to the wiki page in FF, but in Chrome it simply takes me to the search results.
That one click really makes a difference ;)
The use of words expressing something other than their literal intention... Now that is irony!
"They were pure niggers." – Noam Chomsky
I think Chrome is actually doing exactly that.
e.g. Just open youtube and play any video. Now, Chrome Task manager shows three 'processes' - each with memory footprint and CPU usage - One for Browser, one for Tab, and one for Flash Plug-in. You can not kill the Browser process, but you can kill any other.
For more details, you can type "about:memory" in the URL and see what's going on in more details.
At least that's the bleak future for people who don't mind putting layer upon layer of bloated APIs, reimplemented OS tasks (scheduler inside the browser...) and interpreted code on their system in order to run stuff noticeably slower than 15 years ago. Sooner or later, an emulated (in software!) Windows 95 machine with WordPerfect will outperform the mainstream JS/browser based abominations that also keep your data "safe" with corporations keen on turning them into profit...
Call me old, old-fashioned, whatever. The "Web"'s purpose is still to feed *me* information and not to cheat me into feeding megacorps with my private information and whose "evolving needs" you are talking about.
"I love my job, but I hate talking to people like you" (Freddie Mercury)
I am a bit surprised that Google, a company full of smart people who can do a lot with a little, would out-bloat even IE. Perhaps because this is the original version, resource usage hasn't been brought into check yet. I remember it being somewhat this way with the original Mozilla (before Firefox existed) and, as some might recall, Firefox, too, has reduced its resource usage.
There is a middle ground where the web can be a very rich platform without requiring a supercomputer the size of Deep Thought to run it.
McCain/Palin '08. Now THAT's hope and change!
I tested it, and with only iGoogle, a digg article, and this page open as tabs in both Firefox and Chrome, they had about the same memory usage. Firefox had 70MB, Chrome had 80MB. (I use Firefox 3.0.1.)
I opened up my user profile on Slashdot and ten articles I had recently commented on in both Chrome and Firefox. Firefox became unusable as it started processing the JS and it finished much more slowly. When the dust had settled, Chrome was using 180MB and Firefox 220MB.
I went to Digg.com and loaded all of the top hits then. Chrome's memory usage spiked much more quickly, dual core machine and all. Chrome started using a lot more than Firefox. 388MB for Chrome, 284MB for Firefox.
Then I killed all the Digg tabs on both. Chrome went to 186MB, Firefox went to 260MB.
Then I killed all the Slashdot pages I added after those first three tabs (iGoogle, Digg, Slashdot pages.) Chrome is down to 80MB, Firefox is down to 180MB. After about ten seconds though, the Firefox number went to 130MB.
Seems to be staying there for the time being. If I kill all the tabs in both browsers except for about:config in Firefox and about:memory in Chrome, I get 30MB usage in Chrome and 110MB usage in Firefox.
Then why are you using Firefox? After all, the Mozilla Suite wasn't broken. Is it because there's still room for improvement even though the predecessors aren't broken?
Bogtha Bogtha Bogtha
I only use 64-bit Linux these days. Since Flash isn't 64-bit yet, it runs in a separate process from my 64-bit browser, thanks to nspluginwrapper.
The only problem is, when it does crash, it doesn't restart until I restart my browser. So, my browser is fine, but I won't be watching any more YouTube. Better than a crash, but not as good as it could be. If anyone knows enough about nspluginwrapper to fix this, it would be awesome -- maybe even for 32-bit users.
I believe Chrome does this, too -- but I would hope that, since they've done it deliberately, as a way to minimize the damage a plugin can do, they would also be able to handle plugin crashes more gracefully than requiring a full browser restart.
Don't thank God, thank a doctor!
Chrome is what you call the User Interface of an application, or the area around the primary browser window of a web browser.
The normal 'chrome' of Firefox is it's normal theme, Strata.
The name Chrome was chosen because it was ironic, their intent was to reduce the chrome that surrounds what you really want to look at in a browser, the actual webpages.
Mostly Wrong. The reason you don't see all 4 GB on Windows machines is a combination of 2 factors.
#1. Memory mapped devices. This includes device which has onboard RAM (video card is biggest factor with the 1GB of RAM that's usual now). This must be mapped somewhere in the physical address space (virtual address space is irrelevant for this issue). And for compatibility with 32-bit DMA purposes has to be below the 4GB mark. So modern motherboards will remap the "displaced" RAM above the 4GB mark so it is still accessible.
Now onto issue #2. Windows *could* use PAE to access this relocated RAM, but it doesn't on desktop editions (even if PAE is enabled). Technically from a hardware point, it should be accessible, but once again for compatibility purposes, the Microsoft folk have opted to simply not use any RAM seen above the 4GB mark. The reason why is because of poorly programmed 3rd party drivers which assume all RAM is below 4GB, and try to do 32-bit DMA (and thus trash random memory and crash the system). For Microsoft, it's easier to simply avoid the issue then explain why it's not there fault to customers. (BTW server editions are a different story and DO support using RAM above 4GB).
You can verify this by opening up Microsoft's "System Information" utility and going to the "Memory" section. Simply put, it does not show ANY memory above 0xffffffff despite the fact that I know for a fact that there is RAM mapped above that address (installing Linux with "64GB memory support", aka PAE support, shows this to also be true and DOES report and using all 4GB of my RAM).
This issue has NOTHING to do with "shared memory space between processes.
Having an application that responds to user input is a totally different thing than having a lot of sizzle and no steak.
the main reson not to use Chrome is quite clear realy have you read EULA
i for one will not hand all my data to google for a good browser
null
"I usually keep 25-40 tabs open in FF"
You need an introduction to my little friend, Mr. Bookmark.
Better known as 318230.
Heh, I don't know...I didn't get that far in the comic book ;-). I'll have to leave the Task Manager open for awhile to see what it says.
ZuluPad, the wiki notepad on crack
Chrome is quite useless for me right now, as there is no Linux windows, and the things you mentioned don't really sound as if they are worth booting windows.
The only useful thing of those you mentioned would be the incognito mode but I can do that with firefox using some command line stuff, the rest is... Well, If I wanted responsiveness, I am just ok with ff3 in this computer, the alleged security bonus from process separation seems a little irrelevant when considering I won't have a whitelist for javascript, so indeed it won't be possible to block doubleclick and google-analytics in Chrome, unlike the firefox+noscript combination I am already using...
Whatever Fitt's law is, I take it that's irrelevant as heck?
Copyright infringement is "piracy" in the same way DRM is "consumer rape"
Thank you for providing an explanation of this. I got modded down troll and berated a few years ago for mentioning the 3GB thing.
Of course, one reason you might want to swap out those libraries is if you are running one very optimized special-purpose software package and actually want the full 4 gigabytes you paid for, to load and manipulate some very dense data. Linux let me do it, Windows didn't.
I spoke to a lot of clueful (and clueless) people and not one of them mentioned this PAE thing. In the end, I suggested my company go with the linux version of the software and they listened to me. (Don't anyone bother telling me I'm a moron, and to look at MS knowledge base article #whateverthefuck, it's water under the bridge now.)
Once again, thank you; at least there's an explanation, even if it reinforces my belief that Windows shouldn't be used for serious scientific or technical computing.
"They were pure niggers." – Noam Chomsky
search application...
I'm sorry, but I must have missed the memo where Google Desktop was supposedly installed alongside Chrome.
You were probably better off reading the comic rather than watching a bunch of Mac-style videos. The key stuff Chrome brings to the table are: (1) Process isolation per open tab and plugin, with a task manager to kill processes that misbehave, (2) new Javascript engine complete with JIT precompiler. Now if you're browsing with FF nightlies, you might already have a snazzy new JS engine. But a crashed tab still brings down your session with it. I've read blog posts and commentary about how you can type in some obscure remote mode Firefox command to get the multiprocess benefits, but unless Firefox makes that standard-- and that's a pretty fundamental design change-- Chrome has an advantage in terms of stability.
At least, until people start spamming Chrome users through Gears.
"We are Microsoft. You shall be assimilated. Competition is futile."
The tabs hit the top of the screen for me in XP (when the browser is in full screen mode).
Boffoonery - downloadable Comedy Benefit for Bletchley Park
The article claims that Chrome used more memory than IE8, but says nothing about how the testing is done. That probably means the author opened the a bunch of tabs, totaled up the memory used by each of Chrome's processes, and compared it to the memory used by IE8. The problem is, this double counts a lot of memory. Executable code and some data structures are shared, so if there are ten tabs open, then these get counted ten times, but only stored once.
Multiple intercommunicating processes are generally a good thing. And almost all modern operating systems can share read-only code regions between processes, which is safe.
However, once you put "just in time" compilers in, the sharing goes away. This is classically a Java problem; each Java instance has yet another copy of all the Java libraries in use. If Google Gears ends up importing as much cruft as Java does, it will have the same bloat problems.
Still, browsers have become memory hogs, even when rendering pages that aren't doing anything exciting. Firefox can balloon to 300MB after viewing a modest number of relatively vanilla pages. Even with "browser.cache.memory.enable" set to False.
You're thinking "extension" -- we're talking plugins.
Flash is particularly bad -- and, far too often, necessary.
Don't thank God, thank a doctor!
It's fast because they have a nice javascript engine. That engine is open source. If I remember correctly, both Firefox and Apple/KDE are building similar engines (also open source, I think). Google got the first one out to the general web, but it's not going to be anything special four months from now.
I can't believe we are talking about process per TAB vs. something revolutionary. REALLY! 2 full days of this stuff!
I mean what is the difference between having a process per tab vs. a bunch of separate windows (considering basic window frames are low-overhead in most OSes today)? So I can open several windows and get pretty much the same process per page capability, maybe a little more desktop cluster on my 24" LCD and likely faster performance... Chrome advancements aren't even exploiting tabs, but making them more robust for google-apps.
We are splitting hairs if we're calling Chrome revolutionary. Get a hold of reality, we're talking about 1 implementation (not feature nor usability) and over analyzing it against FF, opera and IE8. I think Google using webkit is more important to note and that it's not revolutionary--just expected since Google wants 100% compatibility with their webapps and the ability to go mobile. I'm glad google went with webkit and that the source is available, but that's pretty much it.
The "Web's evolving needs" to which he refers isn't consumer-driven evolution at all: it's driven by advertisers and commercial interests, notably the continued push to re-brand software as "content" that can be pushed as a subscription service... what we now know as "Web apps". Both Google and Microsoft are in the thick of it, though for now Microsoft also plays the other side of the fence with its traditional software. Sadly, this has actually been the case with most of the evolution of the Web and browsers; it was driven mostly by commercial interests and not those of consumers. The specifics of JavaScript, DHTML, XHTML, Flash, and the like are rife with examples of features that fulfill corporate rather than consumer needs.
If actual consumers had a forward-looking brain, they'd reject these "evolving needs" and demand things that benefit them rather than a corporate minority.
These "evolving needs" are anything but open source and consumer-centric, that's for sure. I'm sticking with Firefox... how about you?
Did you read that press release all by yourself? Let's wait for some solid testing before we judge eh?
Newer doesn't necessarily = better
http://ejohn.org/blog/javascript-performance-rundown/
You mean like this solid testing?
Want a high quality FOSS RTS game? Try Warzone 2100!
When Microsoft releases a memory-intensive browser, it's a "poorly written" and "inefficient". But when Google does the same, it's "a new, very demanding era in Web-centric computing"??
Bollocks.
So, regarding the whole "a tab crashing will no longer crash all other tabs" deal, how about we instead made it so no tab actually crashed?
Because isolating the tabs is somewhat difficult.
Writing a bug-free program is incredibly difficult. When that program depends on third-party plugins like Flash, it's also impossible, short of buying Adobe and making them get their shit together.
I'm with you, but realistically, there's not much of a downside to isolating tabs, and it gives us a more robust browser right now, without having to rewrite Webkit. And as a bonus, it gives us concurrent tabs, which means it's faster faster (on dual core) and more responsive (everywhere).
Don't thank God, thank a doctor!
Ok, so In a consumer market that's headed toward mobile devices that can deliver a decent web experience and are getting smaller and smaller each quarter.
These two Leaders of industry come out with new browsers that would only be suitable for a multi core desktop?
The kind of web based applications that Chrome aims at making possible don't make a lot sense on a mobile platform. I'm talking about things like Google Docs etc. These are applications which require large screens, a keyboard and are generally used for extended periods of time (usually while sitting down too).
--
Simon
You can not kill the Browser process, but you can kill any other.
I found that out as well! I installed Chrome, ran it for the first time and after a bit of surfing I wanted to close the window. When I clicked the red X in the upper right of the window, out of my speakers came this strange voice, booming "YOU CAN NOT KILL TEH BROWSER PROCESSSSSSS".
I was like OMG!!!
8 of 13 people found this answer helpful. Did you?
I also am with the Old School philosophy that says that *some* care to software compactness is important even if we have lots of juicy hardware these days.
What are the options out there that really do use a small footprint for basic web activity (like webmail and forums)? Flash is not required, nor RSS.
If I want to actually watch a Youtube page... *I can open an entirely new copy of the app!* It would be nice if the other 7 tabs were under 100 megs.
My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine
Read the EULA. It's HUGE. (I recommend using something like EULAlyzer rather than reading the whole thing.)
It sure looks like Google Chrome is designed first and foremost to be an advertising delivery system. There is so much legal CYA in that thing, you know they're up to something they figure they're going to have to defend in court at some point.
If you think the fact that Google Search stores your search strings is a potential invasion of your privacy (I do), then you will be amazed at what it looks like they plan to get from their "browser." This is the first install in over a year I actually aborted after analyzing the EULA.
One "Aw, Shit!" is worth 100 "Ata boys!"
Google makes money through advertising. That makes it unlikely at there will ever be an Adblock Plus for any browser that Google makes.
Application is not a good place for handling tho memory, even if you manage to re-invent the wheel and write a very good memory allocation algorithm, application layer just does not have enough visibility to get a whole picture of everything.
In short? Let's OS do it! Hey, OS is the expert and MM is exactly the job of the OS. It handles the fragmentation, the caching, the sharing of executable memory image. Chrome do exactly that, it just rely on the OS, sit and enjoy.
I keep hearing about "security improvements"... There's two exploits in two days of life. It's an immature codebase, but if this's what we've got to look forward to, well, count me out.
http://milw0rm.com/exploits/6353
http://milw0rm.com/exploits/6355
www.isoHunt.com
Yes, it's completely open source. Mozilla takes the exact same approach of a "blessed" official binary compiled from the freely-available sources.
Chrome may not be worth booting Windows for, but there will be a Linux version as soon as some Linux people finish porting it, and if you are paranoid about Google's official version I'm sure the Debian folks will be happy to oblige with "Matte" or whatever they end up calling their rebranded Chrome builds (c.f. IceWeasel).
Fitts' law is hardly irrelevant; it's a very important UI design principle. Wikipedia is your friend. That isn't the only non-obvious improvement Google's made to tabbed browsing either. The subtle animations are cool but perhaps the nicest thing is the way tabs don't resize as you close them, until you mouse away. It's hard to describe but it fixes a major annoyance every other tabbed browser has when closing several tabs at once in a crowded window. The implementation of tab dragging is also quite nice, the popup blocker UI is unobtrusive, the status bar only appears when you need it. Overall, the minimalistic UI uses up the least space of any browser's UI (by far), leaving more screen real estate for pages.
Your only valid complaint is that there's no add-ons, so no noscript, flashblock, adblock, GreaseMonkey, etc. I feel confident that open-source hackers will fix this soon, though Google may decide not to include support in the official Google builds.
main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
Google chrome hasn't even been released yet, and you're trying to compare resource usage to Microsoft IE?
Chrome has been released. Google has ruined the concept of beta. Gmail has been in beta for three years now. It's a wonder that the search page is apparently considered an actual product.
People don't understand beta any more. They will just be pissed every time "this new google thing crashed." Google ruined the idea of a beta, now they'll have to live with the repercussions.
I actually really think this approach (many processes) is the right way to go into the future.
Yeah, its resource intensive.
But memory is cheap, desktops/laptops are shipping with 4GB default right now, and I dont mind spending my memory on the apps that I use the most (ie, those that run in web browsers).
Plus it will likely lead to a much more robust and reliable (and simpler) browser platform. Multi-threading is hard, complex, and incredibly error prone. Multi-process programming is much simpler, at the cost of increased resource usage, especially on windows.
But given the trend towards the web browser being the primary platform for running our apps on, I think this is a good path into the future.
Firefox's one-process-only-for-everything is going to paint them into an architectural corner over the next 5 years, I believe.
If multiple processes are particularly expensive in Chrome and IE8, that's a problem with Chrome and IE8... or a problem with Windows. At the very least, multiple processes doesn't mean duplicating *everything*... there's no reason to have all the possible plugins and all the web controls and access methods loaded and initialized in all tabs... in fact NOT having that overhead in the context of every tab should be a significant advantage of the design.
Okay.
If I may be so bold.
This is where it's at:
Windows has something call Dynamic Link Libraries (aka DLL's)
The aim of a DLL is to share code amongst processes. So if Chrome's multiprocess model loads the same DLL multiple times, it maps the DLL's code into the address space of the calling process. Let's pretend for the sake of argument that the rasterization DLL is 10 megabytes large. This means that the shared 10mb DLL is shared between all the processes, and that in fact you should be measuring the shared DLLs. Just because Task Manager (or similar tools) measure 6x50mb processes, this does not mean that each process is physically consuming 50mb of RAM. It means it has 50mb mapped to it. Windows (and any sufficiently advanced operating system with delay-load code systems) follows a scheme called Reference Counting, where a DLL is loaded when referenced the first time and a counter incremented that says "hey, now 1 process is using me"
After that, each successive process loads the DLL and also indirectly ups its reference count. When all processes that load the DLL end, the DLL remains loaded in memory until the OS garbage collects it.
One must always question the tools he uses to measure the efficiency of programs. What you really want is to see the difference between process-local and process-mapped heap allocation statistics, as this is a truly accurate count of memory usage.
Furthermore; IE8 is in beta. Chrome is in beta. And before all you firefox fanbois go off about "yeah but look at firefox's memory use when it was in beta!" I have one thing to say: Firefox is based on netscape. Which has been a little out of beta for more than 5 years. (probably in excess of 10 years). Chrome is new. And HIGHLY feature-packed. and it is NOT bloated. just because there's a high memory use report in a task manager, this does not mean that the use is high. I'm disappointed in you guys, I thought this was a geek forum, where people question everything?
"Chrome and IE 8 are all about delivering a robust platform for reliably running multiple Web apps in a tabbed format in answer to the Web's evolving needs."
WTF does that even mean ?!
Religion is what happens when nature strikes and groupthink goes wrong.
How does FF extensions do the following:
- multi-processed architecture, rather than the ancient one-process-for-everything philosophy of FF?
- plugins running in separate processes
- stop leaking memory like a sieve, even on FF3
- run in low-priv sandbox on Vista
I hate to join the hype here, especially over a product so beta.
But the google folks have, IMO, the right idea of where browsers need to be in 3-5 years. MS is doing the same.
Firefox's old architecture is starting to show.
I dont know where Opera will fit into wrt mult-threadede vs. multi-process. But Opera is a better product right now than FF3 is, so they've got a head start.
chrome (or firefox) is never going to become the dominant browser because internet explorer has the word internet in its name. If you give most people a choice on what program they use to browse the internet - firefox, chrome or internet explorer, they will choose internet explorer because it sounds like a program to browse the internet with
Yeah, why not plug in a neato SPI firewall appliance, an IDS appliance, a parental control appliance, a password storage/form filling appliance, an iPod dock appliance, and 10 more to choose from our catalog? Each based on an Intel Core2Quad processor, 4 GB memory and a 500 GB hard drive, topped off with the latest in 3D video hardware in case you want to hook up a monitor and keyboard to do maintenance using our intuitive management console.
If you order now, we will supply you with 4 power strips with 8 outlets each, with surge protectors to match, free of charge!
We will even include a voucher for a 40% rebate on the course "Modern Weaving: Creating Beautiful Designs using Power Cords and USB cables".
"Where has all the crude oil gone, long time passing,
Where has all the crude oil gone, long time ago..."
The Hacker's Guide To The Kernel: Don't panic()!
The 'consumer market' isnt headed towards mobile devices.
The 'consumer home desktop market' is growing like crazy. The 'business desktop market' is growing.
The 'consumer mobility market' is growing like gangbusters.
It's not a zero-sum situation. There's room for both.
Chrome in particular, is for a nice that is not very appropriate for mobile devices, and thats for long-running web-applications. Not web sites, but web apps like banking, webmail, slashdot, flex apps, etc.
Firefox *3* is the least RAM hungry of all major browsers. Specifically it has very smart heuristics about freeing temporary object when it can (such as decompressed JPEGs), which other browsers don't seem to do.
There were plenty of benchmarks posted when FF3 was released, go look for it yourself.
are there to be used.
I'm old enough to remember this kind of argument about assembler vs. compiled languages. Hand coded assembler will always be smaller, and for any given algorithm it will very likely be faster. When viewed as assembler it will always be more elegant.
From time to time one comes across an assembly language application (although it's a lot rarer these days) that is a tour de force, doing the essential tasks of its compiled competitors in a fraction of the space and often noticeably more snappily. But they aren't notable for the breadth of features they offer.
And that's what bloat is about. Bloat isn't about using resources; it's about devoting resources to ideas that seemed like a good idea at the time but which you don't have the time or ability to undo. Sometimes the feature doesn't exist yet, or abandoned, but still leaves its mark. The reason that large assembler programs tend to be lean isn't so much that humans produce tighter code than compilers, although they can. It's because people who code in assembler think very, very had about any feature before adding it. You'd get much the same results if people coded in a language like Brainfuck.
Any application benefits from skepticism about features, whatever it is coded in.
Now, if you think about what Google is trying to do with Chrome, launching a separate process for each tab makes sense; it is a legitimate use of resources. Each tab is, presumably, hosting a different application. You don't want them running in the same address space, anymore than you want traditional applications running in unprotected memory by cooperative multitasking. Yes, it takes more resources to do this, but I've heard much the same complaint about virtual memory and process preemption.
You don't want some random site's malware to get to close to the online banking application running in a different tab, so you've got to take steps. If you're coding was perfect, those steps probably would work pretty well, but running the online apps in different processes is a legitimate use of resources. You can try to protect pages from each other, manage resources such as processor time between them, but eventually you're coming very close to making the browser an operating system in itself.
In fact, for the purposes of Chrome, the browser is an operating system, or at least a layer in the whole operating system that hosts applications. By taking advantage of the underlying operating system's facilities, the browser doesn't reinvent the wheel, but it comes at a cost.
There isn't a universally right or wrong answer to how to architect something like this. When considered as a hypertext viewer, this kind of architecture is wasteful and bloated. When considered as facility to participate in multiple distributed processing applications, this kind of architecture isn't bloated. It consumes more resources, but to achieve an important goal.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
I just installed Crome. It's cool, but for now I'm continuing with Firefox as I have it all set up with the extensions I like. Meanwhile, I checked out my own web site to see how it displays in Chrome - no problem - looks great. I thought you may be interested in seeing the browser string that Crome sent to my web site...
:-)
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13".
It doesn't seem to be too sure what it is
Chrome: doesn't run on Linux either.
I don't see what everyone's getting so excited about.
"It doesn't cost enough, and it makes too much sense."
Netscape took until version 3 to get better than IE (although it didn't last long).
I started using Firefox when it was Phoenix 0.4 or 0.5, by which time it was better than IE.
Now here comes Chrome, which is better than IE with version 0.2.
If I were Microsoft, I think I'd be ready to give up on life right about now. At this rate, people will be writing better browsers than Microsoft in the time it takes Vista to boot. I bet Ballmer is in full Tourette's mode right about now.
Once there are plugins like AdBlock, FlashBlock and NoScript, I think I'd be ready to switch to Chrome today.
You are in a maze of twisty little passages, all alike.
Perhaps we should send a bug report to someone, or something. Let's just clean up, and start all over again though!
Yeah -- that's called "crashing". Or, in Chrome, that would be the "Sad Tab" -- it catches some exception, cleans up, and lets you hit "refresh" to start all over again.
Sadly, "starting all over again" generally means clobbering some state the user cared about. If my browser throws an exception as I type this, my comment is pretty much gone, and there's not much that can be done about that.
Don't thank God, thank a doctor!