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

5 of 771 comments (clear)

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

    Konqueror has a windows port, too.

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

  3. 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!
  4. 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.

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