Apple Integrates LLVM Compiler to Boost WebKit JavaScript Performance

Peter Bright, writing for Ars Technica:

The LLVM-based fourth tier is called FTL, for Fourth Tier LLVM (and, of course, faster than light). It shares some portions with the third stage, since the third stage already does important work for handling JavaScript’s dynamic nature, but has a different code generating portion.

The result is a healthy performance boost. FTL produces code that is more than 40 times faster than the interpreter, with benchmarks taking about a third less time to run than the old three tier system.

It’s pretty clever: the new FTL compiler takes longer to compile the code, but the code it generates runs much faster. But while the FTL compiler is working, WebKit will execute code generated by the (faster-to-compile) existing JIT compiler, then switch over to the FTL-generated code when it’s ready.

Lots of details in the official announcement on the Surfin’ Safari blog.

Friday, 16 May 2014