6 Reaktionen

Firefox 9: Typinferenz macht JavaScript rund 30% schneller

Geschätzte Lesedauer:

In der aktuellen Entwicklerversion von Firefox 9 wurde die JavaScript-Engine um Typinferenz erweitert. Vereinfacht gesagt ist es so, dass es in nahezu jeder Programmiersprache Typen für Variablen und Funktionen gibt, beispielsweise Ganzzahlen, Dezimalzahlen oder Zeichenketten. Während in statisch typisierten Sprachen der Typ einer jeden Funktion und Variable explizit festgelegt werden muss, muss sich der Programmierer in dynamisch typisierten Sprachen wie JavaScript nicht die Arbeit machen, den Typen explizit anzugeben womit die Typzuweisung zur Laufzeit geschieht, was auf Lasten der Performance gehen kann. Typinferenz schließt hier die Lücke – auf das Schreiben der Typangaben kann verzichtet werden, die Typen werden anhand von Typisierungsregeln und restlicher Angaben hergeleitet.

Typinferenz ist ein sehr komplexes Projekt, in welchem mehr als ein Jahr Entwicklungszeit durch Mozilla-Entwickler Brian Hackett steckt. Das Ergebnis kann sich sehen lassen: Nach Angaben von David Mandelin, Leiter der Entwicklung der JavaScript-Engine von Firefox, konnte in Googles v8-Benchmark eine 30% bessere Performance mit Typinferenz im Vergleich zu ohne Typinferenz gemessen werden. In Mozillas eigenem Benchmark Kraken kam man sogar auf beeindruckende 44% Performancegewinn. In unabhängigen Benchmarks von extremetech.com konnte ebenfalls eine 20 bis 30% bessere JavaScript-Performance festgestellt werden. Natürlich sind Benchmarks immer stark systemabhängig und mit Vorsicht zu genießen, geben aber in jedem Fall eine klare Tendenz an.

Sollte es keine gravierenden Probleme mit der Typinferenz geben, wird dies eines der neuen Features von Firefox 9 werden, welcher aller Voraussicht nach am 20. Dezember dieses Jahres erscheinen wird.

 

Unabhängige Berichterstattung unterstützen.

Unterstütze wirklich unabhängige und Fakten-basierte Berichterstattung zu Mozilla, welche nicht das Ziel hat, Schlagzeilen zu produzieren, sondern objektiv zu informieren.

Dieser Artikel wurde von Sören Hentzschel verfasst.

Sören Hentzschel ist Webentwickler aus Salzburg. Auf soeren-hentzschel.at informiert er umfassend über Neuigkeiten zu Mozilla. Außerdem ist er Betreiber von camp-firefox.de, der ersten Anlaufstelle im deutschsprachigen Raum für Firefox-Probleme aller Art. Weitere Projekte sind firefox.agenedia.com, firefoxosdevices.org sowie sozone.de.

4 Kommentare - bis jetzt!

Eigenen Kommentar verfassen
  1. Florian Frey
    schrieb am :

    schöner Artikel..

  2. schrieb am :

    „Natürlich sind Benchmarks immer stark systemabhängig und mit Vorsicht zu genießen, geben aber in jedem Fall eine klare Tendenz an.°

    Stimmt – VERGLEICHEN kann man eilich immer nur „mit sich selbst“. Als ich mir im August 09 einen neuen PC gekauft hatte, da hatte ich zufällig am Vortag den FF mit SunSpider auf dem „alten“ (der war abgeraucht) getestet – und den neuen gleich wieder. Mit dem selben FF, mit dem selben Profil (der alte PC war kaputt, aber das Backup auf der externen ja nicht) – da war SunSpider fast 2,5x so schnell. DAS konnte nur an der Hardware liegen.

    Ich schätz, wenn man den aktuellen FF, Opera, Chrome „normal“ testet (also vielleicht 100 gleiche Seiten auf allen aufruft), das die ungefähr ähnlich schnell sind…

  3. Mr. Infinity
    schrieb am :

    Interessanter Artikel.
    Bis Firefox dauert es wohl noch eine Weile, es ist ja kürzlich erst Firefox 6 erschienen.
    Ob die Entwickler das bis Mitte Dezember schaffen werden…?

  4. schrieb am :

    Da Typinferenz ja bereits in der aktuellen Entwicklerversion von Firefox implementiert ist, wird das Feature aller Voraussicht nach auch Ende des Jahres in Firefox 9 drin sein. Der Release-Zyklus ist mit sechs Wochen ja fix, siehe:

    https://wiki.mozilla.org/RapidRelease/Calendar

Und jetzt du! Deine Meinung?

Erforderliche Felder sind mit einem Asterisk (*) gekennzeichnet. Die E-Mail-Adresse wird nicht veröffentlicht.
  1. Nach Absenden des Kommentar-Formulars erfolgt eine Verarbeitung der von Ihnen eingegebenen personenbezogenen Daten durch den datenschutzrechtlich Verantwortlichen zum Zweck der Bearbeitung Ihrer Anfrage auf Grundlage Ihrer durch das Absenden des Formulars erteilten Einwilligung.
    Weitere Informationen