Abo
  • Services:

Mozilla: Kompakte String-Kodierung in Firefox spart Speicher

Die Javascript-Engine von Firefox belegt künftig nur noch 1 statt wie bisher 2 Byte für die meisten Zeichen in Javascript. Die verwendete Latin1-Kodierung spart Speicher und beschleunigt den Browser sogar ein wenig.

Artikel veröffentlicht am ,
Die neuen Strings belegen deutlich weniger Speicher.
Die neuen Strings belegen deutlich weniger Speicher. (Bild: Mozilla - CC-BY-SA 3.0)

Statt des bisher verwendeten UTF-16-Encodings wird die Javascript-Engine in Firefox künftig, wann immer möglich, die Latin1-Kodierung verwenden. Einzelne Zeichen belegten dann nur noch 1 Byte, statt wie bisher zwei, wie Mozilla-Entwickler Jan de Mooij erklärt. Das sei eine rein interne Veränderung, das Verhalten von Javascript-Code werde dadurch nicht beeinflusst.

Stellenmarkt
  1. Johanniter-Unfall-Hilfe e.V. Landesverband Hessen/Rheinland-Pfalz/Saar, Butzbach
  2. Dataport, Bremen, Hamburg (Home-Office möglich)

In den meisten Situationen reduziert diese neue Methode den Speicherbedarf, wie zu erwarten, fast um die Hälfte. In einem Test mit dem Code von GMail ließen sich dabei etwa 90 Prozent der Strings in dem neuen Format repräsentieren. Einige längere Strings verwendeten aber nach wie vor das alte Format, da sich diese nicht umwandeln ließen.

Internationale Webseiten kein Problem

Dieser Ansatz funktioniere auch bei Webseiten, die keine der westlichen Sprachen benutzten. Denn auch diese verwendeten für "Eigenschaftsnamen, DOM-Strings und andere Identifier sehr viele Latin1-Strings". Selbst unter den Top-10 der chinesischen Webseiten müssten lediglich 28 Prozent des Codes weiterhin in dem alten Format gespeichert werden, versicherte der Entwickler, der lediglich zwei Monate an der Umstellung gearbeitet habe.

Neben der eigentlichen Umsetzung in JSString überarbeitete de Mooij auch sämtliche Funktionen in der Javascript-Engine Spidermonkey ebenso wie in der Rendering-Engine Gecko. Einige Operationen mussten aber in der bisherigen Form erhalten bleiben, da sonst noch größere Arbeiten an dem gesamten Code des Firefox angestanden hätten. Die Funktionsweise soll das aber nicht beeinträchtigen.

Dank der neuen Repräsentation der Strings können auf 64-Bit-Systemen bis zu 15 Zeichen lange Ketten inline gespeichert werden, was unter anderem die Leistung verbessern kann. Letzteres sei zwar nicht das Hauptziel der Entwicklung gewesen, zeige sich dennoch in Benchmarks. So laufe der Sunspider-Teil für reguläre Ausdrücke nun um 36 Prozent schneller.

Der Code befindet sich derzeit in Firefox Nightly und soll mit Firefox 33 Mitte Oktober dieses Jahres erscheinen.



Anzeige
Hardware-Angebote
  1. 216,50€

Schnippelschnappel 23. Jul 2014

Das ist ein Vorteil der 8-bit Codepages: man bekommt ganze 256 Zeichen mit festen 8 Bit...

rayo 22. Jul 2014

Darum, steht im Artikel. Hauptziel war es weniger Speicher zu brauchen, was mit UTF-8...


Folgen Sie uns
       


Dirt Rally 2.0 angespielt

In Köln konnten wir das nahezu fertige Dirt Rally 2.0 ausführlich anspielen und mit den Entwicklern reden.

Dirt Rally 2.0 angespielt Video aufrufen
    •  /