IE8 Beta 2 Fatter Than Firefox and XP
snydeq writes "Consuming twice as much RAM as Firefox and saturating the CPU with nearly six times as many execution threads, Microsoft's latest beta release of Internet Explorer 8 is in fact more demanding on your PC than Windows XP itself, research firm Devil Mountain Software found in performance tests. According to the firm, which operates a community-based testing network, IE8 Beta 2 consumed 380MB of RAM and spawned 171 concurrent threads during a multi-tab browsing test of popular Web destinations. InfoWorld's Randall Kennedy speculates that Microsoft may be designing IE8 for the multicore future. But until your machine sports four or eight discrete processing cores, IE8 will remain 'porcine,' Devil Mountain's Craig Barth says."
Well as others have pointed out, it's still in beta.
As such, it'll have debug code in it, which tend to bump up the number of execution threads considerably.
You can try the same thing by running an IE7 beta against the release version and looking at the processes. The beta version is much more of a resource hog. It sounds a bit like someone hasn't considered the full picture in this 'comparison'...
Unless those threads are actually processing anything, they represent basically zero overhead.
Actually, IE uses one process per tab. This means that each tab has a different address space, and this is what makes it so that one bad tab crashes only itself and not the entire browser. If they were only doing threads, it'd be what Mozilla does.
Chrome will have one process per tab as a feature. See here.
except that maintaining all that per-thread state takes additional kernel memory, and context switching thrashes cpu. i'd say that 171 threads is excessive for 2 of even 4 core cpu.
Whether or not parallel code is superior to a single-threaded solution depends on the application and the actual implementation. In some cases there's no way to actually make a multi-threaded version of the same application any faster, the best you can hope for is the same level of performance. In other cases the assumptions made when deciding what parts of the application should be in separate threads turn out to be incorrect.
Multi-core is working because most people now run multiple applications at a time, not because more applications take advantage of multi-threading properly (not to mention that the OS itself is using CPU time in addition to any applications you are using). Going from 2 to 4 cores has proven less beneficial for most users simply because people so rarely use the CPU resources they have, and the problems of getting more benefit in a single application from 4 cores are even more complicated than 2, except in specific applications.
Browsers, especially in a world of multi-tab browsers with higher use of flash and javascript on the web, should be able to benefit from multi-threading, but how much benefit can be gained and whether or not the initial assumptions programmers make going into the project are correct are the main questions at hand.
Of course, 171 threads makes you wonder what assumptions they were making, or even what they're doing with those threads.
-PainKilleR-[CE]
They say they took some code from Firefox, but very, very little, they use Webkit for the rendering engine and designed everything else by themselves. A lead Firefox developer was also working on it AFAIK (probably where the Firefox source came from).
That price would be your soul and anything that would be standards compliant.