Ionmonkey macht Firefox schneller.
Ionmonkey macht Firefox schneller. (Bild: David Anderson)

JIT-Compiler Ionmonkey soll Firefox 18 beschleunigen

Mozilla hat seinen neuen Javascript-JIT-Compiler Ionmonkey in der aktuellen Entwicklerversion von Firefox 18 aktiviert. Ionmonkey soll Firefox deutlich schneller machen.

Anzeige

Mozillas Javascript-Engine Spidermonkey bekommt einen neuen JIT-Compiler, der den aktuellen Jägermonkey ergänzt. Während Jägermonkey ebenso wie die Tracing-Engine Tracemonkey Javascript direkt in Maschinencode übersetzt, arbeitet Ionmonkey in drei Schritten: Zunächst wird der Javascript-Code in eine Zwischendarstellung (Intermediate Representation, IR) gebracht, und anschließend werden auf dieser IR verschiedene Algorithmen zur Optimierung angewandt. Erst dann wird die IR in Maschinencode übersetzt.

Diese neue Architektur ermöglicht es Ionmonkey, den erzeugten Code zu analysieren und zu optimieren. Zudem soll der Ansatz künftige Verbesserungen der Javascript-Engine vereinfachen, denn neue Ideen können in Form von Plugins geschrieben und so leicht in die Optimierung integriert werden, um ihre realen Auswirkungen zu testen.

Von Ionmonkey profitieren vor allem lange laufende Javascript-Applikationen, da hier die Optimierungen mit der Zeit greifen. Für kurz laufende Programme wird weiterhin Jägermonkey verwendet. In einem von Mozilla-Entwickler David Anderson veröffentlichten Benchmark, durchgeführt auf einem Mac Pro mit Windows 7 Professional, ist die neue Javascript-Engine deutlich schneller. Braucht Firefox 17 für Mozillas Benchmark Kraken noch 2.602 ms, schafft Firefox 18 den Durchlauf in 1.921 ms. Firefox 18 ist also rund 26 Prozent schneller als sein Vorgänger.

In Googles Javascript-Benchmark V8 ist Firefox 18 rund 7 Prozent schneller als sein Vorgänger und 20 Prozent schneller als die aktuelle Version Firefox 15.

Für die höhere Geschwindigkeit sorgen dabei verschieden Optimierungen, darunter "Loop-Invariant Code Motion" (LICM), die, wenn möglich, Instruktionen aus Schleifen herauslöst, Sparse Global Value Numbering (GVN), um redundanten Code zu eliminieren, Linear Scan Register Allocation (LSRA), die Register-Allokation, die in der Hotspot JVM zum Einsatz kommt, Dead Code Elimination (DCE), die nicht genutzte Instruktionen entfernt, sowie Range-Analysen.

Die Compiler-Architektur ist weitgehend abstrakt angelegt, so dass sie mit geringem Aufwand auf andere Plattformen portiert werden kann. So sind große Teile des Compilers für x86, x86-64 und ARM identisch.

Die Entwicklung von Ionmonkey ist damit aber keineswegs abgeschlossen: Die Mozilla-Entwickler wollen sich in den nächsten Monaten darauf konzentrieren, die neue Javascript-Engine mit Hilfe von Benchmarks und echten Applikationen zu optimieren.

Ionmonkey ist in den aktuellen Nightly Builds der Desktopversion von Firefox 18 aktiviert. In Kürze soll der JIT-Compiler auch im Entwicklungszweig der mobilen Firefox-Version aktiviert werden. Bis Firefox 18 mit Ionmonkey erscheinen wird, dauert es aber noch eine Weile: Erst am 8. Oktober soll Firefox 18 in den Aurora-Channel wechseln, am 20. November dann in den Betakanal.


zZz 13. Sep 2012

Quelle: http://whyeye.org/blog/firefox-performance-history/ Bedeutung: Da hätte ich...

Tapsi 12. Sep 2012

Das Vergleiche ich echt ungern, da allein schon durch die Konstruktion der Sprache...

Kommentieren



Anzeige

  1. IT-Netzwerkspezialist (m/w)
    Bechtle AG, Bonn
  2. Entwicklungsingenieur Embedded Software (m/w)
    SICK STEGMANN GmbH, Donaueschingen
  3. SAP Functional Support FI CO (m/w)
    Faurecia Autositze GmbH, Stadthagen bei Hannover
  4. Junior IT Systemadministrator (m/w)
    Ashfield Healthcare GmbH, Hirschberg an der Bergstraße (Raum Mannheim/Heidelberg/Weinheim)

Detailsuche


Top-Angebote
  1. NEU: Bis zu 60 € Cashback von MSI
    (2 Produkte müssen gekauft werden - Mainboard + Grafikkarte)
  2. MSI-Cashback-Produkte bei Alternate
  3. NEU: Fast & Furious 7 - Extended Version (inkl. Digital Ultraviolet) [Blu-ray]
    14,99€

Weitere Angebote


Folgen Sie uns
       


  1. Me Pro im Hands on

    Gigasets Einstieg in den Smartphone-Markt

  2. iOS

    Jailbreak-Malware greift 225.000 Nutzerdaten ab

  3. Wettbewerbszentrale

    Abmahnung für Zalando wegen vorgetäuschter Knappheit

  4. Nextbit Robin angeschaut

    Das Smartphone mit der intelligenten Cloud

  5. Netzneutralität

    Bund will Spezialdienste für autonome Autos - egal wozu

  6. Streaming

    Amazon-Prime-Inhalte jetzt für alle herunterladbar

  7. Epic Games

    Unreal Engine 4.9 mit mehr Grafikeffekten auf Mobilegeräten

  8. Hypervisor

    OpenBSD bekommt native Virtualisierung

  9. Streamingbox

    Amazon bereitet wohl neues Fire TV vor

  10. Elliptische Umlaufbahn

    Galileo-Satelliten werden für die Forschung eingesetzt



Haben wir etwas übersehen?

E-Mail an news@golem.de



TempleOS im Test: Göttlicher Hardcore
TempleOS im Test
Göttlicher Hardcore
  1. Erste Probleme mit Zwangsupdates Windows-10-Patch bockt
  2. Windows 10 Microsoft gibt Enterprise-Version frei
  3. Microsoft Über 14 Millionen sind bereits auf Windows 10 gewechselt

Windows 10 IoT ausprobiert: Finales Windows auf dem Raspberry Pi 2
Windows 10 IoT ausprobiert
Finales Windows auf dem Raspberry Pi 2
  1. Orange Pi PC Bastelrechner für 15 US-Dollar
  2. Odroid C1+ Ausnahmsweise teurer, dafür praktischer und mit mehr Sound
  3. PiUSV+ angetestet Überarbeitete USV für das Raspberry Pi

Until Dawn im Test: Ich weiß, was du diesen Sommer spielen solltest
Until Dawn im Test
Ich weiß, was du diesen Sommer spielen solltest
  1. The Flock im Test Versteck spielen, bis alle tot sind
  2. Everybody's Gone to the Rapture im Test Spaziergang am Rande der Apokalypse
  3. Submerged im Test Einschläferndes Abenteuer

  1. Re: Abspielen via DLNA: Wer kann 24/50/60 Hz Auto...

    feifelm1983 | 02:14

  2. Re: Verluste beim Wirkungsgrad durch Induktion?

    as (Golem.de) | 02:10

  3. Re: Stromversorgung

    Landorer | 01:35

  4. Re: Schlechtestes Update worldwide

    Ukrain90 | 01:18

  5. Re: Und was ist mim Datenschutz...?

    Keridalspidialose | 01:00


  1. 18:29

  2. 17:52

  3. 17:08

  4. 16:00

  5. 15:57

  6. 15:40

  7. 15:25

  8. 13:28


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel