SquirrelFish Extreme

Maciej Stachowiak introducing a “major revamp” of WebKit’s next-generation JavaScript engine, now available in the nightly builds. More than twice as fast as the version of SquirrelFish announced on June 2, and more than three times faster than the shipping JavaScript engine in Safari 3.1. I’m pretty sure it out-benchmarks Google’s V8 and Mozilla’s TraceMonkey, at least for now. JavaScript engines may well be the most competitive field in applied computer science today.

Here’s Stachowiak on the improvements they’ve made since June:

SquirrelFish Extreme uses four different technologies to deliver much better performance than the original SquirrelFish: bytecode optimizations, polymorphic inline caching, a lightweight “context threaded” JIT compiler, and a new regular expression engine that uses our JIT infrastructure.

The new regex engine is near and dear to the nerdiest regions of my heart:

Not all code spends a bunch of time in regexps, but with the speed of our new regular expression engine, WREC (the WebKit Regular Expression Compiler), you can write the kind of text processing code you’d want to do in Perl or Python or Ruby, and do it in JavaScript instead. In fact we believe that in many cases our regular expression engine will beat the highly tuned regexp processing in those other languages.

That’s a bold statement.

Friday, 19 September 2008