Help - Search - Members - Calendar
Full Version: Announcing SquirrelFish
Neowin Forums > Help & Discussion Center > Software Discussion & Assistance > Web Browser Discussion > Chrome/Safari (KHTML & WebKit)
tiagosilva29
Quote -


Hello, Internet!"

WebKit’s core JavaScript engine just got a new interpreter, code-named SquirrelFish.
SquirrelFish is fast—much faster than WebKit’s previous interpreter. Check out the numbers. On the SunSpider JavaScript benchmark, SquirrelFish is 1.6 times faster than WebKit’s previous interpreter.

SunSpider runs per minute


Longer bars are better.


What Is SquirrelFish?
SquirrelFish is a register-based, direct-threaded, high-level bytecode engine, with a sliding register window calling convention. It lazily generates bytecodes from a syntax tree, using a simple one-pass compiler with built-in copy propagation.
SquirrelFish owes a lot of its design to some of the latest research in the field of efficient virtual machines, including research done by Professor M. Anton Ertl, et al, Professor David Gregg, et al, and the developers of the Lua programming language.

Some great introductory reading on these topics includes:
  • The Structure and Performance of Efficient Interpreters (Introduces the fundamentals of virtual machine design and explains the importance of direct threading)
  • Virtual Machine Showdown: Stack Versus Registers (Details the benefits of register machines, and the importance of copy propagation)
  • The Implementation of Lua 5.0 (Outlines the implementation of a real-world register-based bytecode engine, with a sliding register window calling convention)


I’ve also pored over stacks of terrible books and papers on these topics. I’ll spare you those.


You can read the rest (more nerdy goodies too!!) at the Surfin' Safari Blog.
The_Decryptor
These new bytecode interpreters look interesting, especially the speed up they provide. And more people should read SoC applications (like the one that detailed SquirrelFish tongue.gif )

Personally, I'm waiting for ActionMonkey (SpiderMonkey + Tamarin), and ScreamingMonkey (Adding ActionMonkey to IE, dragging it kicking and screaming)
wellofsouls
from the chart, somehow the SquirrelFish's magnificence looks dwarfed by WebKit 3.1's improvement over 3.0

SquirrelFish is 1.6 times faster than 3.1, but 3.1 is almost 3 times faster than 3.0, I guess that means major performance improvements can be gained even without introducing a "nextgen bytecode interpreter"... or did they have a interpreter change between 3.0 and 3.1 also? smile.gif
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.