Internet Explorer Project Spartan Shows Large Performance Gains
by Brett Howse on January 25, 2015 12:35 AM EST- Posted in
- Software
- Microsoft
- Browsers
- Internet Explorer
With the release of build 9926 of Windows 10, I have had some time to get to know the new build. One of the things discussed at the Windows 10 event in Redmond was an update to the browser, codenamed Project Spartan, which is a new fork of Microsoft’s browser. There will be a lot of features coming to Spartan, such as the ability to annotate web pages with digital ink or keyboard text input, a new reading experience, and Cortana integration. It will be available on all Windows 10 devices – PCs, tablets, phones, and even Xbox. Internet Explorer has never been on the fast update cycle that other browsers are on – namely Google’s Chome browser and Mozilla’s Firefox.
As a brief history, there are of course several major browsers and many smaller ones. WebKit has become one of the dominant rendering (also called layout) engines, and powers Apple’s Safari browser on both OS X and iOS. Chrome used to be based on WebKit, but in 2013, Google forked WebCore from the WebKit project and created Blink, which is also now used by the Opera browser. Firefox has their own rendering engine, called Gecko, and Internet Explorer has used a closed source rendering engine called Trident since version 4.0.
In addition to the rendering engine, each browser also has an ECMA Script engine for executing JavaScript. JavaScript has become very important on the web, so JavaScript performance of the engine is important for how fast web pages feel. Safari’s engine is branded as Nitro, Chrome has V8, Firefox has SpiderMonkey, and Internet Explorer uses Chakra. This means that even though Chrome and Safari were both based on Webkit, performance can be very different because of the different script engines in each browser.
Previous to Internet Explorer 9, IE used a script interpreter for JavaScript, which was fine back when the web was mostly static content, but not good enough with the move to dynamic webpages. Chakra was created for IE9, and it gave a large jump in performance for IE 9 over IE 8. It was certainly an improvement, but quickly fell behind in terms of performance against the other competitors. IE 10, and IE 11, both improved somewhat over the competition, but still the performance of Javascript was poor.
With Windows 10, Microsoft is finally talking about performance again, but also compatibility. For legacy sites, Spartan can load the IE 11 engine as needed, but most of the time they will be able to avoid the legacy code and use a much leaner, faster engine, along with a revamped Javascript engine which offers much greater performance.
Spartan will not be Internet Explorer. This will be a completely new browser, with a new name. Spartan will however be able to load the IE 11 engine if and when needed to maintain compatibility with older sites. For enterprises which still rely on older technologies such as ActiveX controls and Browser Helper Objects, Internet Explorer will still be available in Windows 10 for those use cases, however it will have the same dual rendering engine as Spartan, allowing modern sites to be rendered with the new rendering engine, and older sites to be rendered with IE 11.
For the Windows 10 build 9926 which was released on January 23rd, Spartan is not yet available, and will show up at a later date. However Internet Explorer does have the new Edge document mode. A small number of testers will have this mode enabled by default, and anyone who wants to test against it can manually enable it by going to about:flags in the address bar. Switch Enable Experimental Web Platform Features to Enabled, and you will be using the latest rendering engine. This is still pre-release software, so enable at your own risk of course. Also in the experimental features is the ability to set a custom user agent string, and Microsoft has continued the successful strategy that they brought forward in Windows Phone 8.1 Update 1 of having a user agent string say that it is not Internet Explorer to avoid old IE-only content.
The performance increase of the new Javascript engine is massive, and brings Internet Explorer basically up to par with Google Chome for Javascript performance. WebGL still has some work to be done, and at the moment, the only HTML5 features that have been added is WebM support Update: WebM is not supported, but it registers as available on my install of Windows 10. Let’s take a look at the numbers.
Browser Performance - Core i7-860 | |||||
Benchmark | IE Old | IE Experimental | Chrome 40 | Firefox 35 | Percentage Change |
Sunspider (lower is better) | 149.7ms | 144.6ms | 260.9ms | 220.1ms | 3.4% |
Octane 2.0 (higher is better) | 9861 | 17928 | 17474 | 16508 | 81.8% |
Kraken 1.1 (lower is better) | 3781.2ms | 2077.5ms | 1992.8ms | 1760.4ms | 45.1% |
WebXPRT (higher is better) | 913 | 1083 | 1251 | 1345 | 18.6% |
Oort Online (higher is better) | 1990 | 2170 | 5370 | 3900 | 9% |
HTML5Test (higher is better) | 339 | 344 | 511 | 449 | 1.5% |
IE was well optimized for Sunspider already, so there is not much of a change there. Google Octane 2.0 however has always been terrible in IE, and now it comes in roughly the same as Chrome, for a massive 81.8% increase over the old rendering engine. Kraken continues this with a 45% jump in performance. It is a big change, and a welcome one too.
Spartan should have good performance when it is eventually previewed, and hopefully the standards support will increase as well. Since it will be updated through the Windows Store, the old way of updating Internet Explorer with new Operating System releases should also disappear, allowing Microsoft to ramp up the updates to the new browser. It has taken a long time, but it seems that Redmond is finally focusing on performance and standards for a new web. For those that want to read up on more of the changes, check out the MSDN IE Blog for more information.
49 Comments
View All Comments
name99 - Sunday, January 25, 2015 - link
"This means that even though Chrome and Safari were both based on Webkit, performance can be very different because of the different script engines in each browser."There is a third very important issue that affects PERCEIVED PERFORMANCE --- caching and preloading. My guess is that caching doesn't matter match, because I assume all the browsers cache to the maximum allowed by the headers of each asset. (The headers are frequently wrong and broken, but that's a different issue.)
However preloading is something where browsers can follow very different strategies. This starts with some fairly obvious ideas like resolving all the addresses of links on a page, but can graduate to using browser history and previous user behavior during this session to start predicting WHICH of those links the user might click and hitting those pages in advance...
gamoniac - Monday, January 26, 2015 - link
I think it is about time for AnandTech to update your user comment section. It has stayed the same for at least 4-5 years, and has fallen behind other sites IMO. If it is a relatively easy change, I would recommend increasing the number of entries displayed per page. Bandwidth and capacity has improved vastly in the last 4-5 years.I hope this will reach the decision maker (Ryan?)
nathanddrews - Monday, January 26, 2015 - link
Just click "View All Comments" if you want to read everything at once. Easy.Cliff34 - Monday, January 26, 2015 - link
Wow. I learn something new. It would be nice if it is not just black text. Maybe an underline will help make it easier to spot.USGroup1 - Monday, January 26, 2015 - link
So IE is performing poorly in Google made (Octane) and Mozilla made (Kraken) tests, big surprise! which browser do you think will be on top in a Microsoft javascript test?And when its performing better on Sunspider test, you are claming its optimized for that! without any evidence. Who cares if a browser is optimized for a test or not, it means nothing for real usage scenarios. You don't think Chrome is optimized for Octane test!?
nevcairiel - Monday, January 26, 2015 - link
You do realize that IE Experimental actually had the highest score of all tested browsers in the Octane test now?In any case, the tests are there to show the speed improvements inside IE, not necessarily a comparison to other browsers, those are mostly for reference.
jejones3141 - Friday, March 20, 2015 - link
If memory serves, it's not so much that Sunspider is optimized for IE, it's that Sunspider is poorly written for its purpose as a benchmark. Remember the old days of the Dhrystone benchmark? The first version of it was written to calculate a bunch of stuff, but never used the results of the calculation. Once C compilers started doing "dead code elimination", the program that actually ran no longer matched the distribution of operations that the Dhrystone authors based their benchmark on. They had to come out with a new version that actually used the calculated values (and nowadays might well have to generate random numbers to calculate, lest "constant propagation" optimize the calculations away again).Sunspider has, or at least at one time had, the same problem the first Dhrystone benchmark had; it is or I hope now was, full of dead code, and IE's Javascript did dead code elimination--so it looked better on the benchmark, but those results wouldn't mean diddly for performance in real life.
I recall an MS web demo that gratuitously endlessly switched the background from a solid gray to a solid gray (different data, but not perceptibly different to the human eye). Firefox (and Chrome? it's been long enough I'm not sure) didn't cache backgrounds, and hence the needless flailing away at the background made it look bad, though no sane web developer would create a web site that generated a lot of overhead that nobody could possibly see the result of.
dsumanik - Monday, January 26, 2015 - link
Great... Another f***ckin ms web browser that's going to have quirks galore and waste weeks of my life. MS has wasted MILLIONS of hours of web developers lives. AND THAT WAS JUST LAST WEEK.I don't care about performance I don't care about features THE ONLY THING MS NEEDS IS A BROWSER THAT ADHERES TO HTML CSS, AND ECMA STANDARDS TO THE TEE. END OF STORY. WE DONT NEED TWO BROWSERS WITH DUAL RENDERING ENGINES ITS JUST MORE WORK THAT I DONT GET PAID FOR THAT IN THE END WILL JUST PLAIN SUCK.
andrewaggb - Monday, January 26, 2015 - link
I'm pretty sure the idea is that spartan will auto-update and stay current. Supporting legacy versions of IE should eventually go away. Not sure what else you want. Microsoft must ship windows with a web browser. Sure this is a change that should have happened with windows 8 and not windows 10, but at least it's finally happening.CSMR - Monday, January 26, 2015 - link
Speed is nice but correctness should come first, speed second.Neither IE nor Chrome displays correct colors on a color profiled monitor.
Any incorrect display of a webpage, including displaying the wrong colours, should be awarded a fail and no score, however fast the incorrect display is generated.