Channels

Services

SquirrelFish Extreme announced, now with even faster JavaScript

Apple's WebKit team have announced SquirrelFish Extreme, a new version of their SquirrelFish JavaScript engine, only three months after releasing SquirrelFish, and it seems to put Apple back in competition for fastest JavaScript engine. SquirrelFish Extreme, also called SFX, now includes native code generation and first benchmarks show it running at twice the speed of SquirrelFish.

The developers of SFX say they made four major changes to SquirrelFish. They optimised the bytecode generation which gave SquirrelFish its initial speed boost over previous JavaScript engines. They then added a new inline cache to speed up access to variables. Next, they added a context threaded just in time compilation system which compiles SquirrelFish byte code to native code. Finally, because JavaScript may use a lot of regular expressions, they added a just in time compiler for regular expressions.

An early benchmark of SquirrelFish Extreme versus Mozilla's TraceMonkey and Chrome's V8 had SFX coming in at 36 per cent faster than V8 and 55 per cent faster than TraceMonkey, though JavaScript benchmarks are quite unreliable with the recent jumps in JavaScript performance. Currently, SquirrelFish Extreme only generates native code for 32 bit x86 platforms, unlike V8 and Tracemonkey, which also generate code for ARM processors.

SquirrelFish Extreme is now available in the nightly WebKit builds, and will probably appear in the next major release of Safari. Apple has announced no dates for the next release of Safari.