# Bun für Analysis ist da

> Schreiben Sie mit Bun TypeScript oder JavaScript in TagoIO, importieren Sie Pakete über ihren Namen und verwenden Sie erfolgreich erstellte Bundles für weitere Analysis-Ausführungen.

![Bun für Analysis ist da](https://tago.io/og/de/blog/introducing-bun-analysis-runtime.png)

Bun ist jetzt für TagoIO Analysis verfügbar. Es führt TypeScript und JavaScript direkt aus, mit Paket-Imports, wie Sie sie aus einem Node.js-Projekt kennen. TagoIO übernimmt den Build für die gehostete Ausführung. Sie können Ihr Skript pflegen, ohne es separat lokal kompilieren oder bündeln zu müssen.

Verwenden Sie Bun, wenn die Verarbeitung von Gerätedaten auch den Aufruf eines anderen Dienstes oder den Einsatz einer Bibliothek erfordert. Erstellen Sie aus einem zu hohen Temperaturmesswert eine Wartungsanfrage, bereiten Sie Messwerte für ein Berichtssystem auf oder kombinieren Sie Sensordaten mit Informationen aus einer externen API. Ihre Analysis übernimmt die Verarbeitung und die Integration, ohne dass Sie dafür einen eigenen Server betreiben müssen.

## TypeScript mit vertrauten Imports schreiben

Importieren Sie das TagoIO JavaScript SDK als `@tago-io/sdk` oder eine Datumsbibliothek als `dayjs`. Bun löst Pakete anhand ihres Namens auf. TypeScript wird direkt unterstützt. Sie können die Typen im Skript behalten, das Sie auf TagoIO bearbeiten, statt es vor dem Hochladen in JavaScript zu kompilieren.

Bun akzeptiert die Deno-Importpräfixe `npm:` und `jsr:` nicht. Verwenden Sie einfache Paketnamen und geben Sie im Import eine Version an, wenn Sie eine bestimmte Paketversion benötigen.

## Ein Bundle speichern und mehrfach ausführen

![TypeScript- oder JavaScript-Quellcode importiert @tago-io/sdk und dayjs; ein erfolgreicher Build kombiniert das gespeicherte Skript und die Pakete zu einem Bundle, das zwei Ausführungen ohne erneute Paketinstallation verwenden](https://tago.io/images/blog/introducing-bun-analysis-runtime/bundle-flow.svg)

Wenn Sie eine Version speichern, bündelt TagoIO das Skript und seine Pakete in einer Datei. Nach einem erfolgreichen Build verwenden spätere Ausführungen dieses gespeicherte Bundle, ohne die Pakete erneut zu installieren. Die Abhängigkeiten werden beim Speichern vorbereitet, nicht bei jeder Ausführung aufs Neue.

Dieser Vorteil setzt einen erfolgreichen Build voraus. Bei bestimmten Fehlern, etwa einem Bundle über 10 MB, werden die Pakete stattdessen bei jeder Ausführung installiert. Syntaxfehler oder fehlende Pakete verhindern dagegen die Ausführung. Die [Anleitung zur Bun-Runtime](https://docs.tago.io/docs/tagoio/analysis/runtimes#bun-bun-rt2026) erläutert Build-Fehler und deren Behebung.

## Messwerte mit einem externen Dienst verbinden

![Eine Bun-Analysis vergleicht einen Messwert von 38 °C aus greenhouse-01 mit einem Grenzwert von 35 °C, formatiert 14:05 mit dayjs als 2:05 PM und sendet einen Wartungsauftrag zur Prüfung der Kühlung an eine Wartungs-API, die 201 Created zurückgibt](https://tago.io/images/blog/introducing-bun-analysis-runtime/integration.svg)

Ein Sensor im Gewächshaus meldet beispielsweise 38 °C. Ihre Bun-Analysis kann die Gerätedaten lesen, sie mit Informationen zum Standort kombinieren und den Zeitstempel mithilfe eines Pakets formatieren. Anschließend ruft sie die API Ihres Wartungssystems auf, um einen Arbeitsauftrag anzulegen: "Kühlung prüfen."

Sie geben die Zugangsdaten des Dienstes und das Anfrageformat vor. Nach demselben Prinzip können Sie formatierte Messwerte an eine Reporting-API senden oder einen Gerätedatensatz um Daten aus einem anderen System ergänzen.

## Bun im Vergleich mit anderen Runtimes

- **Node.js:** Erstellen und testen Sie ein gebündeltes Skript lokal und laden Sie es anschließend hoch. Mit Bun übernimmt TagoIO die Kompilierung und das Bündeln der Abhängigkeiten. So können Sie TypeScript direkt im Admin bearbeiten.
- **Deno:** Mit beiden Runtimes können Sie TypeScript im Editor pflegen. Bun verwendet einfache Paketnamen für Imports; Deno verwendet `npm:`-Spezifizierer oder URLs.
- **Python:** Bleiben Sie dabei, wenn Ihre Datenverarbeitung Bibliotheken wie `pandas`, `numpy` oder `scipy` benötigt. Wählen Sie Bun, wenn JavaScript oder TypeScript und die zugehörigen Pakete zur Aufgabe passen.

Gehostete Bun-Ausführungen werden auf das monatliche [Analysis Service](https://docs.tago.io/docs/tagoio/profiles/services/analysis-service)-Limit Ihres Profils angerechnet.

## Runtime-Geschwindigkeit bei gleicher Arbeitslast vergleichen

Ein Vergleich der Verarbeitung von Sensordaten mit verschiedenen Runtimes:

Mediane Ausführungszeit

| Runtime | 1.000 Messwerte | 100.000 Messwerte |
| --- | --- | --- |
| Luau 0.728 | 0,74 ms | 30,60 ms |
| Bun 1.4.2 | 19,21 ms | 27,49 ms |
| Deno 2.4.4 | 30,63 ms | 37,87 ms |
| Node.js 24.21.0 | 29,74 ms | 37,98 ms |
| Python 3.13 | 69,70 ms | 138,52 ms |

Jede Runtime nutzt die Version, die TagoIO hostet. Luau läuft direkt in TagoIO, ohne einen eigenen Prozess zu starten, daher umfassen seine Zeiten nur das Skript. Die anderen Runtimes starten bei jeder Ausführung einen neuen Prozess, und bei 1.000 Messwerten macht dieser Start den Großteil ihrer Zeit aus.

### Wie die Geschwindigkeit den Verbrauch beeinflusst

Bei Bun, Deno, Node.js und Python kann eine schnellere gehostete Ausführung den Verbrauch des [Analysis Service](https://docs.tago.io/docs/tagoio/profiles/services/analysis-service) senken, wenn sie dadurch in eine niedrigere Abrechnungsstufe fällt. Pro Ausführung wird mindestens eine Sekunde berechnet. Unterschiede unter einer Sekunde allein belegen daher keine Einsparung.

## Im Admin bauen und testen

Erstellen Sie eine neue Analysis, wählen Sie unter **Runtime** die Option **Bun** (`bun-rt2026`) und unter **Runs on** die Option **TagoIO**. Schreiben Sie Ihr Skript im Editor und speichern Sie eine Version. Prüfen Sie die Console auf Build-Fehler. Klicken Sie dann auf **Run**, um das Skript auszuführen und seine Logs zu prüfen.

TagoAI kann Sie beim Schreiben Ihres Skripts und bei der Fehlersuche unterstützen.

## Erste Schritte

Lesen Sie die [Anleitung zu Analysis-Runtimes](https://docs.tago.io/docs/tagoio/analysis/runtimes) und [erstellen Sie eine neue Analysis](https://docs.tago.io/docs/tagoio/analysis/creating-analysis) im [Admin](https://admin.tago.io). Die Ankündigung zu Bun finden Sie in den [Versionshinweisen vom 13. Oktober](https://changelog.tago.io/server/v10-6-0/).

[llms.txt](https://tago.io/llms.txt)
