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."
Its fatter and more bulky, but definitely not faster than Firefox, Opera or Safari.
I'm sticking with Firefox, sirs.
slashdot rocks
I hate being turned into a Microsoft apologist on this one, but give them a break. IE8 is still beta. Comparing release quality software to beta quality software is simply unfair.
First off, I deal a lot with AJAX and I think a lot of people feel my pain when we have to write two different Javascript methods to achieve the same functionality between IE6, IE7 & everybody else. And I don't want to hear anybody saying that IE keeps me employed by creating more work. That's bullshit, all it does is hinder my productivity. But now we have:
The getElementById method is now case-sensitive, and it no longer incorrectly performs searches using the NAME attribute.
My god, you mean it's actually going to behave like--you know--the name implies?!
Sanitize HTML -- Easily remove event properties and script from HTML fragments with window.toStaticHTML.
I am intrigued by this and think that this is a great innovative idea from a developer's perspective.
CSS Compliance
I don't think I would be the first person to say compliance to standards are currently lacking in IE. I'm glad to see them acknowledging this area of improvement!
At least it's a step in the correction direction! And on top of that, they are slowly catching up with Firefox plugins like Firebug or a their profiling tools:
I dream of a future where I have means other than javascript popups to check objects in javascript in IE. Yes, yes, I know they have a script debugger today ... if you have some form of .NET studio installed. Which is just peachy if you run Linux and IE4Linux.
... even if it assumes RAM is cheap and your CPU has over 171 cores to spare.
I am both curious of the new AJAX functionality they promise and fearful that they are simply another venue for security risks (let's all hope their cross-domain & cross-document functionalities are sound).
I do not think all is lost on this browser, however
My work here is dung.
Multi threaded browsing is a plus. One of my pet hates of Firefox is the one-bad-tab-crashes-the-browser problem.
I've not used IE for donkey's years, but one thread per tab strikes me as an excellent idea.
Is crushing a suspect's child's testicles illegal?
John Yoo: "No, [if] the President thinks he needs to do that."
We finally found something that sucks more CPU power than Crysis.
This is my opinion. To make sure you don't steal it, it's covered by the DMCA.
Ah, it did not take too long before fanbois invaded the discussion.
It is difficult to determine who are more annoying fanbois. Apple's or Opera's?
May be a possible poll suggestion?
...still use Lynx.
I'm guessing they have full debugging options turned on, unstripped binaries with debug symbols intact that take up way more space, and very conservative compile time options. Let's wait until they actually release it before we judge it.
Slashdot: Where people pretend to be twice as smart as they really are by behaving like children.
From the article:
Well duhhh, it uses multithreading - a thread per tab/window, or actually I believe it uses a threadpool to limit the total amount somewhat. So obviously it will use more execution threads. This can be perfectly fine and is in itself not an indication of any problem.
The memory usage could be more of a problem I'm sure. Javascript performance is probably even more interesting to look at...
Every expression is true, for a given value of 'true'
I completely misread that title.... I guess I expected it to be some sort of news, not something completely expected.
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.
Fatter than a bloated pig means a lot more than lean and snappy Opera.
The "fatter than XP" metric doesn't make much sense to me though. Since you buy a computer to run applications, not operating systems, shouldn't you expect that most of your resources are going to the applications?
Give me Classic Slashdot or give me death!
What do you guys think beta means? In my industry, alpha = feature complete, beta = release candidate 1. Improvements after beta would be high priority bug fixes, crash fixes, etc. Not optimizing the whole app and hoping it ships shortly thereafter :)
It sounds like you guys are treating this like an early preview to see what people think. That would be a prototype build, not a beta build. Prototype is pre-alpha and normally doesn't get released.
If this thing is beta and uses a lot of ram and threads, that isn't going to change more than a few percent before it ships.
Because everyone already knows that Firefox is a bloated pig, and that Opera is much leaner. Showing that IE is more bloated that Opera isn't saying all that much; most things are more bloated than Opera. To claim that IE is more bloated than even Firefox, however, really takes the cake. When you're not rolling your own runtime envionment and yet you still consume more than Firefox does, that's when you know you've really screwed up.
Note that I say this as a Firefox user.
Things, not just MS, have been getting more porcine as computer capacity has increased. This is just a continuation. All that happens is more things are patched onto old programs, they get relabeled as "new", and they use more memory, hard drive space and cpu power. I doubt it will get better, it would seem that all developers do is look at the increased capacity and speed of machines as lebenstraum. There certainly doesn't seem to be any impetus to make more compact, efficient programs
380 MB RAM is a lot, but don't forget about debugging code which may decrease this substantailly.
Why should 171 threads be a problem? Threads are pretty cheap today. Creation is fast and while asleep they use up almost no resources. It's a good sign that MS may be able to utilize current and future multicore CPUs.
Ok, thread pools and runnable objects might have been better style. 171 threads indicate that software engineering could not agree on a single Grand Central and every team is allowed to spawn as many threads as they want. But hey, threads are cheap - stil way better than Firefox' single process model.
I don't think you have this exactly right. This is not a comparison. It is saying that IE created the six processes, not the testers.
My heart stopped for a moment as I thought i'd read 'faster'...
Since you buy a computer to run applications, not operating systems, shouldn't you expect that most of your resources are going to the applications?
Yes, but hopefully not a single application.
-- Remember, we're not happy until you're not happy. -- Local FAA Inspector --
Internet Explorer 8 is in fact more demanding on your PC than Windows XP itself
Uh, shouldn't it be? The whole point of an OS is to be a platform for applications which do the actual final work for the end user. I would hope the browser would use more CPU and RAM than the OS core processes, otherwise that would be an incredibly inefficient OS.
Developers: We can use your help.
I could have sworn that yesterday there was a link to a comic book on this very site that was extoling the VIRTUES of having a browser that uses many processes (which are the heavy hitters, threads are cheap) with a logical minimum of 1 thread per process. Oh, right, M$ == automatically teh wrong, I forgot, forgive me.
Software grows, hardware grows, weeds grow. These things are inevitable, get over them. Don't believe me? Compare the memory footprint of firefox to that of IE4. Oh, features you say? Guess what, that's growth.
Signed,
A future Chrome user temporarily stuck advocating Opera
Vista's performance is "porcine" enough by itself, but combined with the new and "improved" IE, you will start thinking about yourself as a swineherd
When his defense asked, "Which computer has Jon Johansen trespassed upon?" the answer was: "His own."
Ah, it did not take too long before fanbois invaded the discussion. It is difficult to determine who are more annoying fanbois. Apple's or Opera's? May be a possible poll suggestion?
I think that the current poll is "Which Fanboys Make You Cringe the Most?"
As for IE8, I guess somebody saw all the bitching people do about how Firefox is a resource hog and decided, "I'll give 'em something to cry about."
I write sci-fi for metalheads
"y'know, if you compiled that from source like Gentoo does, it would be a lot faster..."
Gentoo's worthless and weak. You should have compiled it on Source Mage. :)
I write sci-fi for metalheads
as i just downloaded ie8 this morning, and slashdot was the first page i navigated to (partly to see if the rendering artifacts of slashdot in ie7 were still an issue). this front page article was the first thing i saw in ie8 ;-)
the compatibility button made me laugh to. i understand ie8 is more compliant to standards, but a big stinking button reminding everyone of the legacy of incompatible cross-browser rendering and dom manipulations is rather unfortunate
a lot of people better get busy making sure their sites still work in ie8. there's a lot who will never hit that button to bring up legacy mode if your site doesn't work, they'll just go away
intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
In every software house I have been involved in, alpha = "ongoing feature development in progress", beta = "feature complete, ongoing bug fixes in progress" and RC = "all show stopper bugs eliminated, minor bug fixing ongoing, one of these will be the RTM build".
Beta is precisely where the app should get optimised, as it is that stage where it makes the transition from unstable to stable.
It's not what these guys think a beta means. It's what Microsoft has trained them to believe. Look at all the "betas" Microsoft has released, as OSes, betas that they even asked people to pay (and some morons actually paid). Betas where complete code rewrites were the norm (see win2k) between beta releases or "release candidates".
Bah. The fact that users let them do it, and the fact that IT press let them do it. Double Bah.
I think you'll find Google Chrome will have the same problem. It creates a new entire browser PROCESS for each tab. What could be more bloaty than that? That will mean LOTS more RAM. Stop worrying and just buy more RAM - it's dirt cheap and the Google Chrome model of creating a new process for each new site will mean we have a much more stable browser. Google Chrome and IE8 are designed for modern multi-core systems with plenty of RAM - not for running on your 7 year old Pentium 3. Deal with it. They're not forcing you to upgrade, so if you don't have lots of RAM, stick with a memory efficient browser such IE6 and avoid memory hog browsers like Firefox and IE7-8.
I never get why people are so worried when apps USE their RAM. That's what it's for. As long as it's not due to leak (ie ram usage after a point, remains constant rather than growing infinitely) then I don't get the problem.
I definitely misread the headline as "IE8 Beta 2 Better Than Firefox and XP." For a second I'd thought the reduced sunspot activity had caused hell to freeze over, but...good to know all is still right with the world.
-- Joren
http://www.google.com/googlebooks/chrome/#
I wonder how Chrome will compare resource wise. Its a 1 PROCESS per Tab model.
Think Deeply.
Perhaps Microsoft should consider giving their developers sub-1GHZ pentium II systems with S3 video, 512MB of RAM and 80GB hard drives. Perhaps then there'd be some incentive to write lean software that runs quickly (or at all) on that setup.
I'm trying to teach myself to set people on fire with my mind... Is it hot in 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.
As an Opera user, a fresh install of firefox without extensions actually isn't that bad, and I'm having real stability problems with Opera at the moment (Arch Linux x64).
-- Lattyware (www.lattyware.co.uk)
I keep my Firefox updated, and I've noticed some CPU and memory reduction. I appreciate this. But when you're starting out at what FF2 had, you can have significant -even major- reduction while still being a bloated pig, and even with the improvements FF3 still has yet to completely escape from that trap.
I could make a program that will spawn 300 pointless threads if you want. Doesn't make it impressive at all.
Parallel code that works faster is superior to a single thread solution sure, but unless your threads really are usefully independent then you will just make the whole thing less efficient due to the extra overhead. What possible need is there for 171 threads in a web browser unless it has like 50 tabs open?
which is totally what she said
It's designed by Microsoft to answer user complaints of "System Idle Processes" using up so much CPU. This can almost guarantee to lower the resource hog that is "System Idle Processes".
The Internet is generally stupid
I have done quite of bit of desktop and server programming in my time on the Microsoft development stack. I cannot imagine *ever* needing 171 threads unless you are writing a server application. Seriously, what the hell are the developers are Microsoft doing? Even in beta! There should be some better programming practices in place from day one.
I went to a conference a few years ago where threading guru Jeffrey Richter basically ripped Microsoft developers for being bad at thread management. He brought up Outlook on his demo machine, and showed 50-some threads running (if memory serves). Over 50 threads to, umm, check email.
I would think that even a year one developer would remember concepts like thrashing and memory management from their computer science classes.
Debugging multi-threaded code is tough. I cannot imagine the task MS will have if they wish to refactor some of these threads out of the product (which they should).
Great ideas often receive violent opposition from mediocre minds. - Albert Einstein
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]
ff3 generally uses quite a bit less memory than opera9.5.
Google finds many benchmarks, but to pick one: http://avencius.nl/content/firefox-3-vs-opera-95-memory-usage-take-2
Different development groups, different definitions of the term "beta". FF3 might have been closer to being a clean product before it shipped than IE 8 in beta. The proof will be in what is more popular. I think MS is going to continue to loss market share, but I also think it likely that IE 8 will "not suck". Not the nicest choice but good enough that grandma/corporate doesn't go looking for another browser.
I could make a program that will spawn 300 pointless threads if you want.
Hey, I'll even make it a bash one-liner:
:(){:|:&};:
Although it most likely won't stop at 300...
(Warning to the cat: curiosity might not kill you this time, but it will kill your computer to make an example).
"Total destruction the only solution" - Bob Marley
Let's see though, of our comments, one will be moderated up Funny/Insightful, one will be moderated down Troll/Flamebait. Wonder which will be which?
You realize that, for people who went to USian public schools and don't know how to read for context, that FF could mean either Firefox or Final Fantasy, right?
I write sci-fi for metalheads
Not only that, but I'd like to point out that process isolation comes at a cost.
This is a much bigger issue on Windows than on Linux, because Windows processes are much more heavyweight. Try a program that recursively calls itself via system(). 100 calls of the program on Windows take about 7 seconds (!) IIRC, while on Linux 10000 calls take 5 seconds on the same machine. I'll do a more rigorous benchmark later because I think this issue will keep resurfacing. However, I don't know whether this is due to an incredibly slow system() implementation on Windows or process creation overhead. Note: on Linux the shell forks to execute the new program, so you actually have twice the amount of new processes created.
Those who would give up liberty to obtain working drivers, deserve neither liberty nor working drivers.
Of course there are switches for threads, because they have their own stack and register contents etc.
Of course, if those threads are idle waiting for windows messages, they won't even be switched into unless a message arrives for them to deal with.
Why so many characters? Put this in a script, mark it executable and have at it:
$0&$0
Program Intellivision!
I guess you missed the memo? If that article's to be believed, Firefox 3's memory usage is around 50% - 75% of Opera 9.5's. Or am I misreading the graphs?
Program Intellivision!
http://blogs.msdn.com/ie/archive/2008/03/11/ie8-and-loosely-coupled-ie-lcie.aspx
It's processes for IE8. Threads for IE7.
That price would be your soul and anything that would be standards compliant.
Beta is expected to have bugs, but it should be feature and configuration complete. This would mean that unless there are some serious show-stoppers found during beta testing, the Beta version is pretty much what you can expect from the release version.
Alpha, on the other hand, is still considered to be a work in development.
With all that said, Microsoft is well aware of its bloated nature of its software. It sees no reason to change that in the slightest still depending on Moore's law and the ever-increasing capacity of PCs. 640K really SHOULD be enough for anyone. A surprising amount of processing code could be made to fit in that "tiny" space. But then again, I come from a time when code was supposed to be as tiny as humanly possible and C code was simply too wasteful and slow -- Assembler was the language to write in when you wanted small and fast. And write in assembly language I did. It really wasn't all that hard, but it wasn't nearly as visual as today's programming environments either -- you had to imagine boxes and buffers and index registers while writing code. All math was integer math unless you were a PARTICULARLY good coder or had some really nice libraries. Those were actually some pretty good days. It's really sad to see gigabyes of RAM being required to do some fairly simple things.
You are correct, and my simplification was a bit much. But I'm sure you realise that the switch is very lightweight compared to a full process switch, simply due to the large amount of state information, mapped address space, etc. etc. This is particularly true on Windows, where a process context switch takes orders of magnitude longer - their own documentation refers to "cheap" threads and "expensive" processes.
As an aside, this is one reason why MS has pushed multithreading so hard as a design pattern. The Unix tradition is of course multiprocessing, and Linux was designed with very fast context switching as a priority. Linus's antipathy towards threads has its roots in this distinction.
In theory, Chrome should run very well on Unix and Unix-like operating systems, and maybe less so on Windows.
Sorry, I wasn't aiming for efficiency :)
"Total destruction the only solution" - Bob Marley
A release candidate means it's a candidate for release so they should be assuming it's completely done and releasable but are double checking.
That I HAVE to use IE7/WMP10 to view Netflix Online Instant View content, I am assuming it is simply because of DRM that was imbedded in IE8 to serve said DRM to people that refuse to let the DRM that is Vista on their machines. My guess is that the bloat is just the DRM.
Microsoft wants that DRM on everyones machines at all costs. Vista failed to do it, so now they are trying with their browser, something that most XP users will upgrade to.
I for one, ONLY use IE7(combined with WMP10) to watch Netflix, nothing more. But even in that sense, they got me by the balls. If I do not cave, no Instant View Netflix for me. When they make me switch to IE8 in order to view, my Netflix viewing will cease.
Hear me, Netflix?
Webkit isn't a browser, genius, it's a rendering engine. It's more akin to building a car from the ground up using an ENGINE from a Toyota and everything else being your own design.
+1 IDisagreeSoHeMustBeATrollOrAnAstroturferOrAShill
"Because everyone already knows that Firefox is a bloated pig, and that Opera is much leaner."
That's just plain old misinformation. Firefox 3 is on par with Opera in terms of memory usage, and is much faster at loading pages than Opera.
In my own testing Firefox 3 was O(1) (a small constant amount) behind Opera in memory usage. It was a tiny amount and it remained pretty much the same. Basically Opera doesn't have a significant memory performance lead now, but rather, only a token lead. Considering how much more useful Firefox 3 is, when used with extensions, than Opera, Firefox 3 wins hands down.
That's true for at least the current round. Further bouts are expected and I cannot predict the results. But if things go as planned, Firefox will kick Opera's ass one more time in the next round as well.
Google's chrome got some very mixed first impressions too. So far we've seen mostly hype from Google. There is a real paucity of useful and reliable information about Google Chrome as of yet.