Sparkplug: Dritter Javascript-Compiler macht Chrome deutlich schneller
Der Chrome-Browser nutzt bisher einen schnellen und einen etwas langsameren Compiler für Javascript. Sparkplug soll einen Mittelweg schaffen.

Mit der aktuellen Version 91 des Chrome-Browsers habe das Entwicklungsteam die Javascript-Leistung um bis zu 23 Prozent steigern können, schreibt das Team im Chromium-Entwicklungsblog. Neben einigen internen Optimierungen gelingt das vor allem mit Hilfe eines neuen Javascript-Compilers, der Sparkplug genannt wird.
Laut der Ankündigung schließt Sparkplug "die Lücke zwischen der Notwendigkeit, schnell mit der Ausführung zu beginnen, und der Optimierung des Codes für maximale Leistung". Für diese beiden genannten Zwecke nutzt Chrome bisher die Compiler Ignition und Turbofan, deren Kombination das Team erstmals vor rund vier Jahren als Ersatz für den noch älteren Compiler Crankshaft eingeführt hatte.
Ignition ist dabei genau genommen nur ein Bytecode-Interpreter, der dafür gedacht ist, Javascript so schnell wie nur möglich auszuführen. Turbofan ist dagegen ein optimierender Compiler, der schnellen Maschinencode erstellt und dafür Informationen aus der Ausführung des Codes verwendet.
Bei Sparkplug handelt es sich nun ebenfalls um einen Compiler, der Maschinencode erstellt, allerdings ohne dabei Informationen aus der Ausführung des Codes zu beachten oder zu sammeln. Das ermögliche einerseits einen schnellen Start. Der damit erzeugte Code sei dennoch immer noch relativ schnell. Laut eigenen Browsing-Benchmarks des Teams hat allein der neue Sparkplug-Compiler für Geschwindigkeitsverbesserungen zwischen 5 und 15 Prozent gesorgt, wie die Beteiligten im V8-Blog schreiben.
Im Blog zur Javascript-Engine V8 beschreibt das Team auch, wie es gelungen ist, mit Sparkplug den Browser zu beschleunigen. Demnach nutzt der neue Compiler zwei grundlegende Ideen. So übersetzt die Software nicht selbst Javascript, sondern bereits erzeugten Bytecode. Darüber hinaus verzichtet der Compiler auf die sonst oft übliche Zwischenschicht (Intermediate Representation, IR). Dabei handele es sich um einen einzigen Durchlauf und der Ablauf des Maschinencodes entspreche exakt dem des Bytecodes.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Beim Caching kann man sicherlich dann auch Turbofan verwenden, wenn der noch einmal...