Zum Inhalt springen

Tree Shaking

Nicht benötigte Teile eines Modulbestands bei der Ausgabe weglassen.

Softwareentwicklung

Was ist Tree Shaking?

Tree Shaking bezeichnet das Entfernen nicht benötigter Codeteile bei der Ausgabe. Im JavaScript-Umfeld hilft dabei die statisch auswertbare Struktur von ES-Modulen mit Importen und Exporten. Wie viel entfallen kann, hängt von Werkzeug, Modulaufbau, Konfiguration und Seiteneffekten ab. Die Bezeichnung verspricht nicht, dass jedes ungenutzte Stück Code sicher erkannt wird.

In einem erfundenen Portal wird aus einer Hilfsbibliothek nur die Datumsformatierung gebraucht. Das Team prüft im erzeugten Paket, welche weiteren Teile entfallen. Eine pauschale Kennzeichnung als frei von Seiteneffekten wäre riskant, wenn ein Modul beim Laden benötigte Funktionen registriert oder Styles einbindet. Solche Wirkungen müssen erhalten bleiben. Größe und Verhalten werden am tatsächlichen Ergebnis verglichen; eine bloß aktivierte Optimierungsoption belegt weder Einsparung noch korrekte Funktion.

Quellen

Beiträge zum Thema

Softwareentwicklung mit ASES

Individuelle Software, Web- und Mobile-Apps