Microsoft's JavaScript Engine Gets Two-Tiered Compilation 46
jones_supa writes: The Internet Explorer team at Microsoft recently detailed changes to the JavaScript engine coming in Windows 10. A significant change is the addition of a new tier in the Just-in-Time (JIT) compiler. In Windows 10, the Chakra JS engine now includes a second JIT compiler that bridges the gap between slow, interpreted code and fast, optimized code. It uses this middle-tier compiler, called Simple JIT, as a "good enough" layer that can move execution away from the interpreter quicker than the Full JIT can. Microsoft claims that the changes will allow certain workloads to "run up to 30% faster". The move to a two-tiered JIT compiler structure mirrors what other browsers have done. SpiderMonkey, the JavaScript engine in Firefox, has an interpreter and two compilers: Baseline and IonMonkey. In Google Chrome, the V8 JavaScript engine is also a two-tiered system. It does not use an interpreter, but compiles on a discrete background thread.
Re: (Score:2, Funny)
Would you rather they didn't? You'd get to be smug either way, it seems.
Re:So in other words . . . (Score:5, Insightful)
You say it dismissively, but the big thing lately is that Microsoft can play catch-up and is really trying to do it. Did you ever think you'd see the day? Starting around MSIE 9 they made huge strides toward becoming fairly normal, rather remaining forever obsolete, as a weird, special, anachronistic case. You never would have heard anyone say this in 2009 or 2004 but it now looks like a fresh Windows install might be able to surf the web, right out-of-the-box.
It used to be that if someone had problems and you found out their browser was .. well, they didn't know, but they said they just "clicked the internet" .. you'd tell 'em they need to get a browser, any reasonably modern browser. But I rebooted to do some testing just yesterday, and MSIE 11 does not suck. Seriously, I found more problems with Safari on Windows, than I did with MSIE.
Today's web browsers, in general, are pretty damn good. Even Microsoft can do this now.
Re: (Score:3)
The Windows version of Safari has not be updated in forever (browser time), you can probably drop "Safari Windows" from your testing list.
Re: (Score:2)
I dunno, I heard plenty of people saying it in
Re: (Score:2)
Re: (Score:2)
I wonder who has the patent on 'two-tiered' just in time compilation...? You'd think it's worth at least as much as FAT32.
That's great (Score:2)
But as usual, the latest version of Internet Explorer won't be available for older versions of Windows, meaning we'll have to keep supporting Internet Explorer 7+ for another decade or so.
Re: (Score:3)
Why IE7? IE9 is the highest version of IE that will run on Vista, which is the lowest currently supported version of Windows.
Re: (Score:2)
Is there anyone out there choosing to run Vista instead of Windows 7?
What's the highest version of IE that will run on Windows 7?
Re: (Score:2)
LOL, well, there's me, but I might be the only one. :-P
I've found upgrading Windows over the years more annoying than buying an entirely new machine, and I've been happy with my Vista machine.
Of course, I don't actually use IE, so I have no idea of what version I've got. Except for work machines, I try not to use IE.
Re: (Score:2)
Re: (Score:1)
Re: (Score:3)
Vista, which is the lowest currently supported version of Windows.
That's actually not true, strictly speaking... XP is still supported, for those (usually governments and large companies) who are willing to pay Microsoft for it [pcworld.com]...
Windows Embedded Piece of $#!+ Ready (Score:2)
Re: (Score:3)
Even many very large e-commerce sites dropped IE7 now, as it accounts for a very small amount of sessions, and an even smaller amount of conversion. Software engineers are expensive, and you need a lot to maintain a moderately complex website/app that supports IE7.
IE8 is a little more awkward. If your target audience is the general public (again, ecommerce site selling stuff to a general audience), you'll have to support it. If, however, you have a more sophisticated product (let say you target a more profe
Re: (Score:3)
Of course, our HR and ERP systems took the exact opposite approach. They only support IE6.5 through IE8, or Firefox 14 - 19. Of course, they also force us to have Java 1.6 still installed because while their app runs on Java 1.7 and 1.8, they do some version checking and artificially block it.
Re: (Score:2)
Yeah, especially older ("more mature") systems tend to have those restrictions, because ERP developers usually prioritize "crossing the checkboxes" (ie: feature bloat) over good engineering. There's a few that have more forward thinking approaches...
WebGL disabled due to unresolved driver issues (Score:2)
webGL can be assumed
Not necessarily. A lot of integrated graphics processors in (especially older) office PCs don't support a high enough OpenGL version for WebGL to work. For example, when I visited http://get.webgl.org/ [webgl.org] using Firefox 32 on my laptop, it said that though the browser supports WebGL, it is currently disabled. Then I checked about:support and it said it was disabled due to unresolved driver issues. (Not exact wording because that computer isn't in front of me right now. I can retrieve the exact wording on reques
Re: (Score:2)
You took that out of context and read too much into it. My statement wasn't only about targeting newer browsers, but when you have some form of control over a small, focused user base.
If your target audience is data scientists in big companies (that was the scenario i had in mind, based on a real product we shipped), 99.9 (I almost want to say 100%) of our target audience (a few hundreds users across a couple companies) was running less than 2 years old Macbook Pros. That worked quite nicely.
Sure, once you
Re: (Score:2)
Re: (Score:1)
IE7 is already dead. The only supported system that still has it by default is Vista. Vista already has such poor market share, and even most of those users are running IE 9.
With XP now officially end of life, it's reasonable to expect users to be running at least IE 9 now.
Re: (Score:2)
maybe, but the unfortunate thing is real life doesn't work that way just because microsoft says so. We have customers still using XP (usually older people, or government employees) so unfortunately we have to still support ie6. So what we do is support our core apps for ie6 but any new features/new apps we only support ie9+
Re: (Score:2)
It doesn't seem fair to laugh at them for being late to adopt this particular technique.
What really matters is the overall performance, compatibility, etc.
Two-tiered compilation has pros and cons, it's not a silver bullet.
Will it be reusable? (Score:2)
For node.js and/or .NET apps on Windows?
It'd seem like a waste of effort if the shiny JS engine can only be used within IE. IE is dying anyway and they could save tons of money by embedding WebKit instead.
Re: (Score:3)
IE is dying anyway and they could save tons of money by embedding WebKit instead.
MS are way too proud to do that. Anyway, I'd far rather IE just be well-maintained and keep some variety in the web: a 'monoculture' world of WebKit (well, and Gecko) isn't good for the web.
Re: (Score:1)
I just wish the Opera people would open source Presto.
Tired? (Score:2)
I just misread the title as "Microsoft's JavaScript Engine Gets Two-Tired Compilation.
Re: (Score:2)
Wouldn't that be "too tired compilation"?
Razors (Score:5, Funny)
I can see this going the same way as number of shaving blades on a razor with 5 tiered JIT js.
Safari: four tiers (Score:2)
Re: (Score:3)
Fuck everything, we're doing five tiers [theonion.com].
Given that the mobile world has moved to apps... (Score:1)
... I'm not really sure why so much effort is being put into fine tune browser performance when most browsers simply get used to display pretty static web pages. The number of people who actually play heavy duty games or anything that requires realtime performance in a browser is probably miniscule and any real gamer will be using .exe's.
Perhaps if browsers were kept simple rather than this constant effort to try and make them replace the desktop as a one-app-runs-all enviroment there wouldn't be so many ex
Re: (Score:2)
Browsers are the most secure and privacy preserving way today to execute programs on your computer. They maintain a clear separation between the data on your HDD and theirs, if they need access to your camera they ask you, and it has become really hard to develop an exploit to break out of this sandbox. Because of xkcd 1200, I usually avoid using closed source apps on my desktop, but inside a browser I know it doesn't steal my data, or break something else in my system. Do you remember all those "splash scr
Re: (Score:2)
Except the fact that browser programs are always-online of course.
Offline web applications (Score:2)
Except the fact that browser programs are always-online of course.
They were until HTML5 introduced "application cache", "local storage", and "IndexedDB" features. This has allowed for offline-first design [blog.hood.ie].
Re: (Score:2)
yeah I don't know what you are talking about. As I would say 99.9% of the internet ISN'T static web pages. I just did view source on this page, and 1/3 of the content is JS.