JavaScript Engines: Performance-Steigerung der Browser

Seite 6: Fazit

Inhaltsverzeichnis

JavaScript ist derzeit die meist verwendete Programmiersprache. Ein wesentlicher Grund war neben der Einfachheit der Sprache und der Allgegenwärtigkeit des Internets, dass es die Browserhersteller geschafft haben, die Ausführungsgeschwindigkeit auf ein Niveau vergleichbar mit kompilierten Sprachen wie C# zu heben.

Das ist umso beachtlicher, da JavaScript nicht für Performance konzipiert wurde. Dynamische Typisierung und Interpretation ermöglichen einen schnellen Einstieg in die Sprache, bremsen jedoch die Ausführungsgeschwindigkeit beträchtlich. Etwaige Änderung können zwecks Kompatibilität nicht an der Sprache durchgeführt werden, weshalb Engines versuchen, direkt bei der Ausführung die beiden Schwachstellen auszumerzen.

Die im Artikel vorgestellten Techniken Inline Caches und JIT-Kompilierung stellen wesentliche Verbesserungsmaßnahmen dar. Zeitgemäße Engines haben darüber hinaus eine ganze Reihe weiterer Optimierungstechniken. Die Verwendung von TypeScript oder ähnlichen Sprachen (Flow) ist hilfreich. Sie "erziehen" oder "drängen" den Entwickler zur Verwendung von statischen Typen. Erzwingen können sie es nicht, wodurch es am Ende in der Verantwortung des Entwicklers liegt.

[Update: 14.01.2018: Erwähnung von TypeScript im Fazit ergänzt, Zeiten bei den Codebeispielen hinzugefügt.]

Rainer Hahnekamp
ist unabhängiger Softwareentwickler. Er ist stets auf der Suche nach neuen Tools, die dabei helfen, die Codequalität zu verbessern.
(bbo)