How (and why) is Microsoft tweaking its 'Chakra' JavaScript engine in IE10?
Summary: What kinds of changes is Microsoft making to its JavaScript engine in IE10? A couple of recent Microsoft blog posts offer some details.
When Microsoft introduced Internet Explorer (IE) 9, one of the key new components of that browser was its JavaScript engine, codenamed "Chakra."
Chakra is still alive and well in IE10, and will be part of the one HTML5 browsing engine that will power both the Metro-Style and Desktop in Windows 8 and Windows RT. (It also will power the version of IE10 that is coming for Windows 7, as far as I know. There have been no publicly-released test builds from the Softies of IE10 for Windows 7 since Platform Preview 2 a year ago, but supposedly this product is still coming.)
Microsoft officials have said in the past that they've focused heavily -- though not exclusively -- on IE's JavaScript engine to improve browser performance. (IE's Trident rendering engine obviously has an impact on performance, too.)
The guiding principle since IE9 has been that HTML5 apps will work better on multi-core machines where the browser can take advantage of multicore performance. Chakra was built to take advantage of two cores, with the second core compiling JavaScript down to native machine code to help speed up the browser.
According to the latest IEBlog posts, Microsoft has been honing Chakra in some major ways since IE9.
Over the past year-plus, Chakra team has been optimizing for JavaScript-intensive apps. These aren't typically your ordinary, garden-variety real Web apps. Instead, they tend to be HTML5 games and simulations. (That explains the IE team's fondness for test cases like the BubbleMark simulation and Cut the Rope.)
To get these kinds of apps to run even faster, here's what the team said it did:
- Updated Chakra’s JIT (just-in-time) compiler. "We added support for two additional processor architectures: x64 and ARM. That’s why, whether your JavaScript application is experienced by the user on a 64-bit PC or an ARM-based tablet, it enjoys the benefits of executing directly on the CPU."
- Changed "the fundamental approach to generating machine code." According to this week's post, Chakra’s IE10 compiler generates fewer machine instructions for code, "reducing the overall memory footprint and speeding up execution." Apps with floating-point arithmetic, HTML5 games and simulations will be where these changes are most readily noticed.
- Tweaked Chakra's memory allocator and garbage collector. "Chakra now delays the garbage collection at the end of script execution and requests a callback from the browser after an interval of script inactivity," the post explained. The result? The memory footprint shrinks when the browser or one of its tabs becomes inactive. It also means the frequency of garbage collection in animation-driven apps is reduced.
As I've mentioned previously, I've stopped using IE9 because it is slow to load regular-old Web sites on my Windows 7 laptop, an Asus UL30A with Windows Home Premium. (And that's with plug-ins disabled.) Hopefully, next-generation PCs and laptops will have more capable processors that will take advantage of these Chakra enhancements. If not, all these fancy tweaks won't do anything to entice me to go IE10. On Windows RT tablets, I might have less of a choice, if IE is the only browser that can take truly advantage of these JavaScript/JIT enhancements and which is allowed to use plug-ins.
I'm curious to hear what the IE team is doing on the Windows Phone front, going forward. Rumors from earlier this year pointed to the IE Mobile team using a proxy server to deliver pages more quickly in IE10 Mobile on Windows Phone 8 devices. Yes, seemingly like Amazon is doing with Silk....Browser as a service, anyone?
Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback
Joe
As for 'browser as a service' - I find it to be unusably slow on the Kindle Fire. Let's hope it's optional.
Slow, really?
Anyways, I don't see why Microsoft wouldn't make such a feature optional, as some may prefer their privacy (even though they probably wouldn't save anything anyways).
Slow... really
Also, many sites are now loaded asynchronously (using ALM or similar). So I wonder how effective the initial page load is.
Makes sense...
I just never understood why Amazon added such a feature to the Fire anyways. The browser should leverage caching anyways (images, js files, css, etc) without the need of Amazon's own cache. Sure, there is only so much the Fire can cache due to it's small storage space, but style sheets and the like aren't really that big anyways.
ie 10 on Windows 8 is nappy
We keep hearing how IE will be ever more responsive
Maybe. :_|
don't be a troll
What I don't know?
Watch where you throw around yer STFU's.
and still your dont know what your talking about
You still don't know what you're talking about, so STFU
IE10 is pretty snappy but still needs work
Agreed.
I still hope we'll get the same and full IE10 experience for Windows 7, and not exclusively on Windows 8. Personally, I won't upgrade to Windows 8 just to get it. The overall benefits of this operating system are too little, the deprivations yet too many.
I've always noticed issues with IE
For example, anchored backgrounds (backgrounds with images that don't move as you scroll) are extremely slow. IE stutters when I scroll on such pages. Google Chrome, Firefox, et al, have no problems with the same exact pages at all. They don't skip a beat.
Then there is an issue with huge web pages. Internet Explorer is also (in my experience, I will note) very bad at handling very long web pages. Just as with stationary backgrounds, IE stutters and in certain cases freezes with large web pages. It just chokes.
Once again, every other browser doesn't experience any of these issues.
If those weren't issues, IE wouldn't be that bad, yet they would still lag behind. Microsoft develops it so slowly that, in comparison to others, it's just a basic browser (horrible extension support -- they slow down the browser, missing features [where's syncing? why are there so few importing options from other browsers?]).
It just sucks, that is all...
I guess mileage varies
IE10 final version
There is a BIG difference between IE10RP and IE10RTM (and even the coming IE10 GA) when it comes to performance of DOM manipulation. If you were following the issue at Microsoft-connect, you might have seen this one https://connect.microsoft.com/IE/feedback/details/680378/a-dom-manipulation-test-ie-performance.
For particularly page loading, just open this page http://nontroppo.org/timer/ in IE8, IE9, IE10 RP and then IE10RTM and compare. There you will find lot of improvements..
IE10
Not scientific , but looks faster than Chrome/FF/9 on W7.
In short , IE10 is BLAZING fast.
What does MJF use ?
IE
He already knows
about the old sites
back in the day
IE9 is slow, jerky and rubbish...