Slashdot Mirror


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."

21 of 771 comments (clear)

  1. Re:"Thin" won't be "in" by Anik315 · · Score: 3, Informative

    Webkit actually works great on mobile platforms. Android and the iPhone both use it.

  2. Standards by DougofTheAbaci · · Score: 4, Informative

    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.

  3. Re:How Ironic by Darkness404 · · Score: 4, Informative

    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.
  4. IE8 consumes more resources than Vista? by ko9 · · Score: 4, Informative

    The article mentioned in the summary states that IE8 (beta) consumes more resources than XP, not Vista. That's quite a difference I think..

  5. Re:Not hard to get... by Z34107 · · Score: 3, Informative

    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
  6. Not Accurate by Anonymous Coward · · Score: 4, Informative

    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.

  7. Re:Hmmm by abigor · · Score: 3, Informative

    You are correct. Linux, Windows, and pretty much all modern operating systems implement copy-on-write.

  8. Re:Firefox Damage Control Is More Than Enough by mweather · · Score: 5, Informative

    Konqueror has a windows port, too.

  9. Re:Google Chrome HDD and CPU Usage by fyrewulff · · Score: 3, Informative

    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
  10. Re:Not hard to get... by GoRK · · Score: 5, Informative

    The overlapping memory pages is kinda cool, but your computer actually is using all of that RAM you installed

    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.

    which is why you can see computers in Circuit City running 32-bit Vista and reporting 4 GB (or more) of memory.

    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.

  11. Re:Resources? by E+IS+mC(Square) · · Score: 4, Informative

    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.

  12. Re:I don't get it. by ozphx · · Score: 3, Informative

    Memory is owned by the process, so killing off a thread for a tab won't help you. Worker processes is a traditional form of resiliance for app servers like IIS (presumably Apache too).

    Operating systems have already solved the problem of isolation of tasks (processes) so it seems appropriate to use this functionality. Memory is cheap - I put 4gig in a laptop for under a hundred bucks. IE8 seems to be putting more effort into saving memory than Chrome, but TBH I don't think its worth the effort.

    --
    3laws: No freebies, no backsies, GTFO.
  13. An advantage of 64-bit Linux? by SanityInAnarchy · · Score: 5, Informative

    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!
  14. Re:Firefox Damage Control Is More Than Enough by i.of.the.storm · · Score: 4, Informative

    Link for the google-handicapped: http://windows.kde.org/ actually lists KDE 4.1 as a release for Windows. I'm surprised there wasn't more news about it though. It seems to still be alpha/true beta quality software though but interesting nevertheless. Nice for people like me who like KDE apps but also like Windows (gasp).

    --
    All your base are belong to Wii.
  15. Re:Not hard to get... by Pr0xY · · Score: 5, Informative

    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.

  16. Re:We need to go in the other direction by magus_melchior · · Score: 3, Informative

    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."
  17. Re:Chrome iPhone by Fweeky · · Score: 4, Informative

    IE8 with 6 processes was using 958524 KB and Chrome with 11 processes was using 783840 KB.

    Uhm, how are you counting that? There are 11 Chome.exe processes, and when you add their "Mem Usage" columns up you get 783840KB? Because, er, OS's which use paged memory VM's don't work like that; about the only way you can really work out how much memory they're all using is by comparing their VM mappings and seeing what bits are shared between them (and not also with other processes; e.g. standard Win32 dll's everyone uses) and which aren't.

    This is why Chrome has about:memory, with an *estimate* of how much memory Chrome is using; if I spawn 11 tabs and add up Mem Use, I get 263MB. about:memory, however, estimates it's using 166MB, and a good chunk of that may well be in memory mapped files and as easily disposable as filesystem cache.

  18. Re:Firefox Damage Control Is More Than Enough by tyrione · · Score: 4, Informative

    Konqueror uses Webkit, as of several months ago.

    Correction: Konqueror can be compiled to use QtWebKit, but out of the box it still uses KJS/KHTML from the KDE Devs. If you don't believe me then check yourself on Debian or other distributions.

  19. Re:Security improvements? by antivoid · · Score: 4, Informative

    gz m8, do you work in the how-sensationalist-can-you-be! dept?

    it's not an exploit. you cannot call it that because its a beta product. Beta products have bugs. its the same as a test driver saying a car is crap because feature is not correct. By downloading and using chrome, you submit to being a beta tester. if you're going to go around spreading negative publicity about a beta product that you are technically a tester of, in order to improve it, then you're a moron. call me a flametroll. just don't come post "0day sploits" about a beta product, because thats retarded.

  20. Re:Security improvements? by Allador · · Score: 3, Informative

    Could you not be bothered to read the links you posted?

    The first one is not a security exploit. It's at most a DoS since it causes the app to crash.

    The second one is an old/known vulnerability in webkit. Of course they inherited it. It's exactly the same problem called the 'carpet bombing vulnerability' in Safari, which also uses webkit.

  21. Resources by hey! · · Score: 5, Informative

    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.