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.
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.