SquirrelFish: WebKit auf der Überholspur

WebKit

Gestern berichteten wir von einem Browser-Benchmark. Dabei konnte sich Safari in fast allen Disziplinen den ersten Platz sichern. Lediglich bei einigen Javascript-Tests lag Safari hinter der aktuellen Beta-Version von Firefox 3. Doch die neue Engine bringt Safari auf die Überholspur.

Die Entwickler der Open-Source-Browser-Engine WebKit, die auch Safari zugrunde liegt, stellten heute in ihrem Blog die neue Javascript-Engine des WebKits vor. Sie heißt SquirrelFish. Der neue Interpreter arbeitet bis zu viermal schneller als noch in Safari 3 und immerhin noch 1,6 mal schneller als in der aktuellen Safari-Version 3.1. Damit dürfte sich WebKit vorläufig an die Spitze der Browser-Benchmarks setzen.

Möglich macht das ein völlig neuer Interpreter, der anders als der alte nicht mehr mit einem Syntaxbaum operiert, sondern einen Bytecode-Strom verarbeitet, der zuvor von einem Compiler erzeugt worden ist. Der Bytecode wird zur Laufzeit des Javascript-Programms erzeugt, sobald der Javascript-Code das erste Mal aufgerufen wird. Funktionen die nie aufgerufen werden, werden auch nicht übersetzt. Der Bytecode-Compiler nimmt während der Übersetzung bereits kleinere Optimierungen vor, damit z. B. Funktions-Argumente nicht kopiert werden müssen, sondern per Referenz übergeben werden können. Wer sich genauer für die Arbeitsweise des neuen Interpreters interessiert, dem sei die Lektüre des vollständigen Posts ans Herz gelegt.

Nur der Anfang

Die jetzt in den Hauptzweig des WebKits eingepflegte SquirrelFish-Variante soll nach Aussage der Entwickler erst der Anfang sein. Bytecode besteht nur noch aus einer Reihe von Anweisungen und eignet sich daher, anders als ein Baum von Grammatik-Konstrukten, viel besser für weitere Optimierungen. Damit soll die Ausführungsgeschwindigkeit weiter gesteigert werden.

Wann die Verbesserungen des WebKits in Safari einfließen werden, ist nicht bekannt. Wer aber nicht warten will, der kann sich die aktuellen Nightly Builds herunterladen und schon jetzt von der drastisch gestiegenen Performance profitieren.

Mehr über ml:

Metadaten
  • Geschrieben am: 3. Juni 2008
  • Zuletzt aktualisiert am: 27. Februar 2020
  • Wörter: 279
  • Zeichen: 2061
  • Lesezeit: 1 Minuten 12 Sekunden