Microsoft's JavaScript Engine Gets Two-Tiered Compilation
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.
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.
Get free satoshi (Bitcoin) and Dogecoins
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.
I just misread the title as "Microsoft's JavaScript Engine Gets Two-Tired Compilation.
Sigs are so 1990s. No way would I be seen dead with one.
I can see this going the same way as number of shaving blades on a razor with 5 tiered JIT js.
Great minds think alike; fools seldom differ.
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.
Safari offers *four* tiers with their FTL (Fourth Tier LLVM). Lots of detail here: https://www.webkit.org/blog/33....
Would you rather they didn't? You'd get to be smug either way, it seems.
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.
As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
The Windows version of Safari has not be updated in forever (browser time), you can probably drop "Safari Windows" from your testing list.
Get free satoshi (Bitcoin) and Dogecoins
You are correct about desktop Windows, but Windows Server 2003 and Windows Embedded POSReady are still in extended support. There are already registry hacks to make Windows Update think Windows XP SP3 is POSReady.
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/ 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 request.) A bit more research turned up the Atom N450's HD Graphics 3100 IGP supporting only OpenGL 1.4, which was before the big reorganization of the OpenGL API to deprecate the fixed-function pipeline.
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 screens" that appeared when you have logged in, advertising some bloaty software? In the browser there are no splash screens. I know, app stores also ensure standards and such, but browsers are still better, as they ensure basic features (copy text, ctrl f etc) I need in everyday computer use.
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.
Posted from my Android phone. Oh, I can change this? There, that's better...
Except the fact that browser programs are always-online of course.
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.
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.
I dunno, I heard plenty of people saying it in 2009, especially around specs circles (both around WHATWG/W3C groups and those around implementers doing evangelism work), even if whenever it was voiced it got laughed at by most web devs. In reality, it was very obvious that IE7 was mostly just trying to quickly fix what they thought were the biggest shortcomings of IE6 (which, after all, hadn't really been touched in years, and most of the dev team didn't have any idea about the codebase); IE8 followed on making pretty significant low-level changes that were pretty obviously designed at making many of the modern parts of the web platform easy to implement (from what's been said, it should definitely be the case that many CSS modules nowadays are easier to implement in modern IE than in other browser engines, simply because they rewrote so much for IE8), even though ultimately it shipped more or less at feature parity with IE7 (albeit with fewer bugs). IE9 was when all that work started to come together, starting to add large amounts of the more modern parts of the web platform.
Agreed. And the fact that IE12 will have a new extension engine finally puts it at feature parity with Chrome and Firefox. Microsoft is getting back in the game, and Apple seems to be coming out with ho-hum, me-too tweaks of existing products rather than anything truly new. Stuff happens in cycles. That's what keeps things exciting.
'He who has to break a thing to find out what it is, has left the path of wisdom.' -- Gandalf to Saruman