Zum Hauptinhalt Zur Navigation

Crankshaft: Google macht Chrome deutlich schneller

Google will die Javascript-Engine V8 seines Browsers Chrome nochmals beschleunigen. Crankshaft soll V8 rund 50 Prozent schneller machen.
/ Jens Ihlenfeld
80 Kommentare News folgen (öffnet im neuen Fenster)

Mit Crankshafts(öffnet im neuen Fenster) aggressiven Optimierungen soll V8 rechenintensive Applikationen teilweise doppelt so schnell ausführen, verspricht Google. Im Durchschnitt soll die Javascript-Engine in Googles eigenem Benchmark V8 rund 50 Prozent schneller sein.

Darüber hinaus soll Crankshaft den Start von Webapplikationen wie Google Mail weiter beschleunigen. Bei Webseiten mit komplexem Javascript soll sich die Ladezeit um rund zwölf Prozent verringern.

Crankshaft setzt dabei auf adaptive Kompilierung. Häufig ausgeführte Codeteile werden dabei besonders aggressiv optimiert. In Benchmarks, die in sehr kurzer Zeit durchlaufen, beispielsweise Sunspider, mache sich dies kaum bemerkbar, so Google.

Dabei besteht Crankshaft im Wesentlichen aus vier Komponenten: Dazu gehört ein Basis-Compiler, mit dem sämtlicher Code zunächst übersetzt wird. Dieser ist besonders schnell, ohne dabei größere Optimierungen vorzunehmen. Im Vergleich zum V8-Compiler, der in Chrome 9 zum Einsatz kommt, soll Crankshafts Basis-Compiler etwa doppelt so schnell sein und etwa 30 Prozent weniger Code erzeugen.

Hinzu kommt ein Runtime-Profiler, der die Ausführung überwacht, um besonders häufig genutzte Codeteile zu identifizieren. Ist das der Fall, springt ein "optimierender Compiler" ein, der den Code erneut übersetzt und weitgehende Optimierungen vornimmt ( static single assignment(öffnet im neuen Fenster) , loop-invariant code motion(öffnet im neuen Fenster) , linear-scan register allocation(öffnet im neuen Fenster) und inlining(öffnet im neuen Fenster) ).

Sollten die Optimierungen zu weit gehen, greift eine Deoptimierung. Dabei kommt dann wieder der vom Basiscompiler erzeugte Code zum Einsatz.

Googles Javascript-Engine V8 mit Crankshaft steht ab sofort für 32-Bit-Intel-Systeme im Rahmen von Chromes Canary-Builds(öffnet im neuen Fenster) zur Verfügung. An der Portierung auf 64-Bit-Systeme und ARM-Prozessoren arbeitet Google noch.


Relevante Themen