Wir bei Hitabis beschäftigen uns intensiv mit Green Coding – schließlich haben wir mit Oaklean ein eigenes Tool entwickelt, um Energieverbrauch auf Code-Ebene zu messen. Unsere Erfahrung zeigt: Das größte Potential liegt oft NICHT dort, wo man es zuerst vermutet.
Nachdem wir bereits Runtime gegen Runtime verglichen haben, wollten wir nun einen Schritt weiter gehen. Wie sieht es eigentlich bei den Bundlern aus? Die Wahl des Bundlers hat massive Auswirkungen auf Production Builds, die täglich viele Daten verarbeiten. Das summiert sich schnell. Somit ist die Wahl des Bundlers ein großer Hebel, um Strom und Serverkosten zu sparen.
Wir haben ein TypeScript-Projekt mit unterschiedlichen Bundlern bauen lassen und dann mit identischen Testdaten 50-mal ausgeführt und den Energieverbrauch in Millijoule (mJ) mit Hilfe von unserem Open-Source-Tool Oaklean gemessen. Dabei haben wir uns Node in einer alten Version, der aktuellen und der LTS-Version angeschaut.
| Bundler | Bun | Node@22 | Node@24 | Node@25 |
|---|---|---|---|---|
| Bun Bundler | 509 mJ | 897 mJ | 853 mJ | 888 mJ |
| TSC | 1103 mJ | 1547 mJ | 1493 mJ | 1403 mJ |
| esbuild | 1136 mJ | 1702 mJ | 1380 mJ | 1402 mJ |
| webpack | 1078 mJ | 1627 mJ | 1488 mJ | 1516 mJ |
| rollup | 1132 mJ | 1729 mJ | 1431 mJ | 1392 mJ |
| parcel | 1209 mJ | 1514 mJ | 1435 mJ | 1475 mJ |
Der Bun Bundler ist unschlagbar: mit 509 mJ verbraucht er ~50% weniger als TSC und ~40% weniger als alle anderen Bundler.
Node@24 und Node@25 sind effizienter als Node@22: Für den Bun Bundler ist Node@24 optimal, für TSC/TypeScript bietet Node@25 leichte Vorteile.
Bun Runtime + Bun Bundler = Maximum Efficiency: die Kombination verbraucht nur 509 mJ (Bun→Bun) vs. 1702 mJ (Node@22→esbuild).
Der Bun Bundler ist der energieeffizienteste JavaScript-Bundler – egal ob für Bun- oder Node-Runtime. In Kombination mit Bun oder Node@24 lässt sich der Energieverbrauch im Build-Prozess um ~50% reduzieren. Für Green Coding lohnt sich der Wechsel nicht nur bei der Runtime, sondern auch beim Build-Tool-Chain.