← Zurück zum Blog

Tauri vs Electron für Git-Clients: ein Performance-Benchmark

comparison performance

Tauri vs Electron für Git-Clients: ein Performance-Benchmark

Die meisten plattformübergreifenden Desktop-Git-Clients bauen auf Electron: GitKraken, GitHub Desktop, GitFiend. GitSquid ist einer der wenigen, die auf Tauri aufbauen. Die Wahl des Frameworks ist für Endnutzer unsichtbar, prägt aber RAM-Verbrauch, Installationsgröße, Kaltstartzeit und CPU im Leerlauf. Dieser Artikel legt Zahlen auf diese Unterschiede.

Transparenzhinweis: Dieser Artikel erscheint auf der GitSquid-Website, die auf Tauri basiert. Wir haben versucht, ehrlich zu messen — die Zahlen unten sind reproduzierbar.

Warum das Framework für eine Git-GUI zählt

Git-GUIs laufen stundenlang. Sie sind Hintergrundwerkzeuge, die Sie geöffnet halten, während Editor und Browser im Fokus sind. Ihr Ressourcen-Footprint summiert sich: Ein Git-Client, der 400 MB RAM nutzt, ist isoliert betrachtet in Ordnung, aber auf einer 16-GB-Maschine, die zusätzlich einen Editor, Browser, Slack, Docker und ein paar Language-Server laufen lässt, zählt jedes zusätzliche Hintergrund-MB.

Die Wahl des Frameworks beeinflusst:

  • Installationsgröße — wie viel Festplattenplatz die Anwendung belegt.
  • Kaltstart — wie lange vom Start der App bis zur ersten sichtbaren Repository-Ansicht.
  • RAM im Leerlauf — wie viel Speicher die App belegt, wenn ein Repository geöffnet ist, aber keine aktive Interaktion stattfindet.
  • CPU im Leerlauf — ob die App den Lüfter aufdreht, wenn Sie den Fokus auf Ihren Editor wechseln.

Wie sich Electron und Tauri architektonisch unterscheiden

Electron bündelt einen kompletten Chromium-Browser plus eine Node.js-Runtime mit jeder Anwendung. Jede App ist ein vollständiger Browser. Vorteil: deterministisches Rendering — überall dieselbe Chromium-Version. Nachteil: Jede App liefert ~150 MB Chromium-Binaries aus.

Tauri nutzt das vorhandene Webview des Betriebssystems — WKWebView auf macOS, WebView2 auf Windows, WebKitGTK auf Linux. Die in Rust geschriebene Anwendungslogik kommuniziert über eine dünne IPC-Schicht mit JavaScript im Webview. Vorteil: winzige Binary, geringer RAM-Verbrauch, schneller Kaltstart. Nachteil: Das Rendering kann zwischen Plattformen leicht variieren, weil jedes OS eine andere Webview-Engine hat.

Methodik

Wir haben vier Git-Clients auf derselben Maschine (M2 MacBook Pro, 16 GB RAM, macOS 15) mit demselben mittelgroßen Repository geöffnet (das GitSquid-Quellrepo, ~600 Commits, ~150 Dateien) gebenchmarkt. Für jede App:

  • Installationsgröße: gemessen mit `du -sh /Applications/<App>.app`
  • Kaltstart: App beendet, gestartet, Stoppuhr gestartet, gestoppt, sobald das Repository sichtbar und bedienbar war.
  • RAM im Leerlauf: Repo geöffnet, 30 Sekunden gewartet, `ps -o rss` für den Hauptprozess und alle Hilfsprozesse erfasst. Aufsummiert.
  • CPU im Leerlauf: `top` über 60 Sekunden gesampelt, mit fokussierter App, aber ohne Benutzerinteraktion.

Die Zahlen variieren je nach Maschine und OS-Version, aber die Verhältnisse bleiben konstant. Reproduzieren Sie auf Ihrer Hardware zur Verifikation.

Ergebnisse

Tool Framework Installationsgröße Kaltstart RAM im Leerlauf CPU im Leerlauf
GitSquid Tauri 2.x / Rust ~25 MB ~0,7 s ~180 MB <1 %
GitKraken Electron ~300 MB ~3,5 s ~750 MB 2-5 %
GitHub Desktop Electron ~200 MB ~2,0 s ~450 MB 1-3 %
Fork (zur Referenz) Nativ (Cocoa) ~50 MB ~0,5 s ~150 MB <1 %

Zwei Erkenntnisse:

  1. Das Tauri-basierte GitSquid spielt in derselben Liga wie das native Fork in jeder Metrik. Die Webview-basierte Architektur ist um den Faktor 4-5x schlanker als Electron bei der Installationsgröße und 2-4x bei RAM.
  2. Electron-basierte Clients zahlen einen erheblichen Overhead bei Installationsgröße (10x mehr als Tauri), RAM (3-4x mehr als Tauri) und Kaltstart (3-5x langsamer). Das gilt sowohl für GitKraken als auch für GitHub Desktop — es sind Framework-Kosten, kein App-spezifisches Problem.

Was das in der Praxis bedeutet

Installationsgröße

Auf der Festplatte belegt ein Electron-Git-Client etwa so viel Platz wie 10 GitSquid-Installationen. Wenn Sie mehrere Git-Clients installiert haben (die meisten von uns tun das während der Evaluierung), zählt das. Auf Laptops mit 256-GB-SSDs hat jedes freigegebene GB Wert.

Kaltstart

Der 3-Sekunden-Unterschied zwischen GitSquid und GitKraken klingt trivial. Multipliziert mit der Anzahl der täglichen Starts Ihres Git-Clients (typisch 5-15), ergibt das eine Minute pro Tag — etwa 4 Stunden pro Jahr — vor dem Ladebildschirm verbracht.

RAM im Leerlauf

Die 570-MB-Differenz zwischen GitSquid und GitKraken ist die Schlüsselzahl für speicherbeschränkte Maschinen. Auf einem 16-GB-MacBook mit dem üblichen Setup aus Editor + Browser + Slack + Docker ist das der Unterschied zwischen "ich habe noch 1,5 GB frei" und "ich swappe". Swappen verlangsamt alles, nicht nur den Git-Client.

CPU im Leerlauf

Diese Metrik spüren Sie am Lüftergeräusch. Electron-Apps halten oft etwas Hintergrund-CPU, selbst im Leerlauf (Renderer-Prozesse, GPU-Compositor etc.). Auf einem lüfterlosen Laptop oder einem heißlaufenden Mac machen schon wenige Prozent den Unterschied zwischen lautlos und hörbar.

Die Kompromisse

Tauri ist nicht ohne Nachteile. Die ehrliche Liste:

  • Webview-Konsistenz. Jedes OS nutzt eine andere Webview-Engine. Das meiste CSS / JS funktioniert identisch, aber sehr fortgeschrittene Features (manche Flexbox-Edge-Cases, gewisse Details des Font-Renderings) können zwischen Plattformen abweichen. Wir sind in der Lebenszeit von GitSquid auf 2-3 davon gestoßen und haben sie umgangen.
  • Bundling-Komplexität. Tauri verlangt die Rust-Toolchain auf jedem Entwicklerrechner. Electron verlangt nur Node. Für eine Git-GUI eines kleinen Teams ist das akzeptabel; für ein Hobbyprojekt erzeugt es Reibung.
  • Kleinere Community. Electron hat 10+ Jahre Ressourcen, Bibliotheken und Stack-Overflow-Antworten. Tauris Ökosystem ist jünger, wächst aber schnell.

Speziell für Git-Clients ist keiner dieser Nachteile für Endnutzer sichtbar. Der Vorteil (geringerer Footprint, schnellerer Start, weniger Speicher) schon.

Warum nutzen nicht mehr Git-Clients Tauri?

Zwei Gründe:

  1. Trägheit. GitKraken startete, bevor es Tauri gab. GitHub Desktop startete, bevor Tauri produktionsreif war. Ein reifes Produkt zu re-platformen ist teuer — wir wissen das, GitSquid hat genau das von Electron auf Tauri in v2.0 (2026-04-11) gemacht.
  2. Tauri ist jünger. Tauri 1.0 erschien 2022, Tauri 2.0 2024. Für ein etabliertes Produkt ist die Wette auf ein jüngeres Framework ein echtes Risiko. Für ein neues Produkt wie GitSquid ist der Kompromiss günstiger.

Probieren Sie es selbst

Die Zahlen in diesem Artikel sind reproduzierbar. Installieren Sie GitSquid und einen beliebigen Electron-basierten Git-Client, öffnen Sie dasselbe Repository in beiden und beobachten Sie die Stats Ihrer Maschine. Der Unterschied ist meist auch ohne Messung sichtbar.

Laden Sie GitSquid herunter und sehen Sie die Zahlen auf Ihrer Hardware.