Skip to content
ai news

TypeScript ist jetzt 10x schneller

Millionen von Entwicklern werden bald Stunden ihrer Woche zurückgewinnen, aber nicht wegen KI. Das Geheimnis liegt in einer grundlegenden Veränderung unter der Haube, die endlich den größten Engpass von JavaScript behebt.

Jonah Park
TypeScript ist jetzt 10x schneller

Der Engpass, den wir alle ignoriert haben

TypeScript 7 hat signifikante Leistungssteigerungen erzielt, was eindrucksvoll durch die Fähigkeit des neuen Compilers demonstriert wird, die VS Code codebase zu erstellen. Dieses riesige Projekt, das 1,3 Millionen Zeilen Code in fast 8.000 Dateien umfasst, kompiliert nun in nur 10 Sekunden. Dies stellt eine drastische Reduzierung gegenüber den 125 Sekunden dar, die der vorherige Compiler benötigte, und markiert eine 11,9-fache Geschwindigkeitsverbesserung für eine der am weitesten verbreiteten Entwicklungsumgebungen.

Microsoft Technical Fellow Anders Hejlsberg hat das Kernproblem präzise identifiziert: Das Design von JavaScript ist für Benutzeroberflächen und Webbrowser optimiert, nicht für die rechenintensiven Arbeitsabläufe, die für Compiler unerlässlich sind. Seine grundlegende Single-Threaded-Architektur begrenzt die Skalierbarkeit stark und verhindert eine effiziente Nutzung moderner Multi-Core-Prozessoren für kritische Vorgänge wie die Verarbeitung von abstract syntax trees oder die Durchführung umfassender Typüberprüfungen.

Obwohl JavaScript Web Workers als Nebenläufigkeitsmechanismus anbietet, erweisen sie sich für Compiler-Operationen als unpraktikabel. Die Verteilung komplexer Datenstrukturen, wie z. B. geparster Syntaxbäume, auf separate Worker-Threads erfordert einen enormen Overhead für Serialisierung und Deserialisierung. Dieser Prozess der Umwandlung komplexer Objekte in Rohbytes und zurück verbraucht oft mehr Rechenressourcen und Zeit als die eigentliche Arbeit, was Workers zu einer unpraktischen Lösung für die Anforderungen eines Compilers an Shared-Memory und hohen Durchsatz macht.

Warum Go die perfekte Waffe war

Die Neuschreibung des TypeScript-Compilers in Go brachte die erheblichen Leistungssteigerungen. Diese strategische Portierung adressierte die inhärenten Einschränkungen von JavaScript bei rechenintensiven Aufgaben. Etwa die Hälfte der beobachteten Beschleunigung stammt aus der Ausführung von nativ kompiliertem Code, die andere Hälfte ist auf das hocheffiziente Shared-Memory-Nebenläufigkeitsmodell von Go zurückzuführen.

Go verteilt Rechenarbeit mühelos auf alle verfügbaren CPU-Kerne. Dies steht in krassem Gegensatz zu JavaScript, das bei CPU-gebundenen Operationen weitgehend auf einen einzigen Kern beschränkt bleibt. Moderne Prozessoren verfügen zunehmend über mehr Kerne anstelle von schnelleren einzelnen Kernen, was die Fähigkeit von Go verstärkt, Hardware-Ressourcen für die parallele Verarbeitung voll auszunutzen.

Das Nebenläufigkeitsmodell von Go vereinfacht die Verteilung von CPU-gebundenen Aufgaben. Es macht es für Entwickler überflüssig, komplexe Threads zu verwalten oder Daten zwischen Prozessen zu serialisieren und zu kopieren – ein häufiger Engpass in JavaScript bei der Verwendung von Web Workers. Dieses Design macht Go von Natur aus überlegen für Compiler-Operationen, da es den direkten Austausch von Objekten und eine optimierte parallel execution ermöglicht.

Endlich sofortiges Feedback

Die Leistungssteigerungen gehen über die Compilerausführung hinaus und wirken sich tiefgreifend auf die tägliche developer experience durch den TypeScript Language Server aus. Frühere Versionen setzten Entwickler häufig spürbaren Verzögerungen aus, während sie darauf warteten, dass wichtige Typüberprüfungsergebnisse und Fehlerhervorhebungen in ihren IDEs erschienen, insbesondere bei umfangreichen Codebasen. Dies führte oft zu frustrierenden Pausen im Arbeitsablauf.

TypeScript 7 verändert diese Dynamik grundlegend und liefert nahezu sofortiges Feedback. Entwickler sehen nun präzise Ergebnisse der Typüberprüfung und die vertrauten 'Wellenlinien', die Fehler anzeigen, in Millisekunden. Diese Reaktionsfähigkeit bleibt auch bei der Bearbeitung groß angelegter Projekte bestehen und eliminiert effektiv die schmerzhaften Wartezeiten, die zuvor die kontinuierliche Entwicklung und Produktivität behinderten.

Entscheidend ist, dass der neue Language Server auch mit signifikanten Stabilitätsverbesserungen aufwartet. Metriken zeigen eine drastische Reduzierung der operativen Fehler: Fehlgeschlagene Language-Server-Befehle sind im Vergleich zu TypeScript 6 um über 80 % zurückgegangen. Darüber hinaus gab es bei Serverabstürzen, einer häufigen Quelle für Unterbrechungen, eine deutliche Reduzierung um mehr als 60 %.

Diese kombinierten Verbesserungen minimieren die Notwendigkeit manueller Neustarts und die Fehlerbehebung bei hartnäckigen Tooling-Problemen. Einen umfassenden Überblick über diese Verbesserungen und weitere neue Funktionen finden Sie im offiziellen Announcing TypeScript 7.0 - Microsoft Developer Blogs. Der Go-Port hat die Reaktionsfähigkeit und Zuverlässigkeit der TypeScript-Entwicklungsumgebung zweifellos verändert.

Gefällt Ihnen der Artikel? Erhalten Sie jeden Morgen einen wie diesen per E-Mail.

eine E-Mail pro Tag · Abmeldung mit zwei Klicks · kein Tracking durch Dritte

Upgrade-Anleitung (und worauf Sie achten sollten)

Benutzer, die auf den neuen Compiler aktualisieren, können npm install typescript ausführen, um Version 7 zu erhalten. Für VS Code-Benutzer ist zudem die Installation der spezifischen 'TypeScript 7'-Erweiterung erforderlich, um die Leistungsverbesserungen innerhalb der IDE voll auszuschöpfen. Diese Version stellt eine direkte Portierung des bestehenden Compilers auf Go dar, keine vollständige Neuentwicklung.

Dieser Ansatz stellt eine breite Kompatibilität mit bestehenden Codebasen sicher. Entwickler sollten als primäre spürbare Änderung eine drastische Steigerung der Kompiliergeschwindigkeit und eine verbesserte Reaktionsfähigkeit des Language Servers erwarten. Das funktionale Verhalten bleibt weitgehend konsistent mit früheren TypeScript-Versionen.

Eine kritische Einschränkung in dieser ersten Version ist das Fehlen einer vollständig kompatiblen programmatischen API. Dieses Versäumnis wirkt sich direkt auf mehrere wichtige Tools innerhalb des TypeScript-Ökosystems aus. Projekte, die sich auf diese Dienstprogramme für Aufgaben wie Linting, Testen oder Laufzeitausführung verlassen, werden mit TypeScript 7.0 nicht korrekt funktionieren.

Insbesondere Integrationen wie:

  • typescript-eslint
  • ts-jest
  • ts-node

Diese und ähnliche Tools warten auf ein Update. Entwickler sollten beachten, dass die vollständige Kompatibilität für die programmatische API mit dem kommenden TypeScript 7.1-Release erwartet wird, welches diese Ökosystem-Abhängigkeiten adressieren wird.

Häufig gestellte Fragen

Warum wurde der TypeScript-Compiler in Go neu geschrieben?

Der ursprüngliche JavaScript-basierte Compiler war durch die Single-Threaded-Natur von JavaScript begrenzt, die für rechenintensive Aufgaben ungeeignet ist. Go wurde aufgrund seiner nativen Leistung und überlegenen Shared-Memory-Nebenläufigkeit gewählt, was es dem Compiler ermöglicht, alle verfügbaren CPU-Kerne zu nutzen.

Wie viel schneller ist TypeScript 7?

Es ist drastisch schneller. Zum Beispiel kompiliert es die 1,3 Millionen Zeilen umfassende VS Code-Codebase in etwa 10 Sekunden, verglichen mit 125 Sekunden beim alten Compiler – eine fast 12-fache Verbesserung. Ähnliche Zuwächse sind bei anderen großen Projekten zu beobachten.

Wird TypeScript 7 meine bestehenden Tools beschädigen?

Möglicherweise. Obwohl der Compiler so konzipiert ist, dass er kompatibel ist, ist die programmatische API noch nicht verfügbar. Tools, die davon abhängen, wie typescript-eslint, ts-jest und ts-node, werden erst mit dem 7.1-Release funktionieren.

Wie kann ich mit der Nutzung von TypeScript 7 beginnen?

Sie können es über npm installieren (npm install typescript). Für die beste Erfahrung in VS Code müssen Sie zusätzlich die spezifische 'TypeScript 7'-Erweiterung aus dem Marketplace installieren, da die Standardeinstellung noch nicht aktualisiert wurde.

Found this useful? Share it.

For builders

Want Stork to write one of these about your product?

Send us a URL. We use the product, form a view, and publish what we actually think — in 8 languages, labeled Sponsored, with no copy approval on your side. That last part is what makes it worth quoting.

See how it works$500 · AI tools & software only