WebKit erfindet die JavaScript-Engine noch einmal neu: «SquirrelFish Extreme» (Update)

Nur gerade drei Monate nachdem das WebKit-Team bei Apple eine (r)evolutionäre JavaScript-Engine namens «SquirrelFish» vorgestellt hat, erfanden die WebKitler bei Apple die neue Engine wiederum neu. Obwohl SquirrelFish es bisher nicht mal bis in Safari geschafft hat (nur Dev-Preview von Safari 4), wurde es bereits komplett überholt: «SquirrelFish Extreme». Nach der Vorstellung von SquirrelFish Anfang Juni 2008 begann man auch bei Mozilla an einer verbesserten JavaScript-Engine für Firefox 3.1 zu werkeln. Dieser Browser ist aktuell im Beta-Stadium und soll Ende 2008 erscheinen. Auch Google hat im WebKit-basierten «Chrome»-Browser eine neue JavaScript-Engine V8 vorgestellt, diese soll schneller sein als jene von Safari 3.1.x und Firefox 3, zeigt jedoch bereits Mühe im Vergleich zu WebKit mit SquirrelFish und auch TraceMonkey in Firefox 3.1. Das neue «SquirrelFish Extreme» soll mehr als doppelt so schnell wie SquirellFish arbeiten - dies unter anderem deshalb, weil SFE noch fortgeschrittenere Techniken benutzt, so zum Beispiel schnelle native Codegenerierung. Beim in der Branche üblichen SunSpider-Test schnitt SFE wie erwähnt gegenüber SF über doppelt so schnell ab, gegenüber der Engine von Safari 3.1 gar 3.4 mal so schnell und gegenüber jener aus Safari 3.0 vom Oktober 2007 gar fast 12 mal so schnell. Die Entwickler bei Apple sind damit sehr zufrieden, sehen aber noch weiteres Optimierungspotential für mögliche Leistungssteigerungen.

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.

Maciej Stachowiak, JavaScript-Experte des Apple-WebKit-Teams

Die vier von Stachowiak angesprochenen Technologien werden im Surfin’ Safari Blog näher erklärt.

Cameron Zwarich zeigt in seinem Blog zudem einen Vergleich von SquirrelFish Extreme mit den aktuellsten Versionen von V8 (Chrome) und TraceMonkey (Firefox 3.1):

Here are some SunSpider numbers on my 2.16 GHz MacBook Pro, using 50 runs with a 95% confidence interval of +/- 0.1%:

SquirrelFish Extreme: 943.3 ms
V8: 1280.6 ms
TraceMonkey: 1464.6 ms

As you can see, SquirrelFish Extreme is 36% faster than V8, and 55% faster than TraceMonkey.

Cameron Zwarich, WebKit-Reviewer

Die neue «SquirrelFish Extreme»-JavaScript-Engine kann in den neusten Nightly-Builds von WebKit getestet werden.

Update: Weitere Vergleiche SFE vs. V8 vs. TraceMonkey auch von Charles Ying

Von Stefan Rechsteiner
Veröffentlicht am

Gönner-Abo

Ab CHF 5.– im Monat

👉🏼 Wir benötigen deine Unterstützung! Unterstütze macprime mit einem freiwilligen Gönner-Abo und mache die Zukunft unseres unabhängigen Apple-Mediums aus der Schweiz mit möglich.

macprime unterstützen

3 Kommentare

Anmelden um neue Kommentare zu verfassen

Allegra Leser! Nur angemeldete Nutzer können bei diesem Inhalt Kommentare hinterlassen. Jetzt kostenlos registrieren oder mit bestehendem Benutzerprofil anmelden.