C# (.NET) gegen die Konkurrenz: Benchmark-Ergebnisse 2025
Anfang 2025 veröffentlichten die unabhängige Entwickler-Community TechEmpower und das .NET Foundation-Team aktualisierte Benchmark-Ergebnisse für gängige Sprachen und Frameworks. Traditionell hält das .NET-Ökosystem führende Positionen bei Web-API-Aufgaben und hochbelasteten Diensten. In diesem Artikel analysieren wir, wie C# im Vergleich zu Python, Java, Go und Rust abgeschnitten hat.
Testmethodik
Der Benchmark wurde auf identischen Cloud-Servern (8 vCPU, 32 GB RAM, SSD NVMe) mit Ubuntu 24.04 LTS durchgeführt. Getestet wurden folgende Szenarien:
- JSON-Serialisierung — Rückgabe eines einfachen Objekts im JSON-Format (Simulation einer REST-API).
- Multithreading-Verarbeitung — parallele Arbeit mit 64 gleichzeitigen Anfragen.
- Datenbankarbeit — 100.000 Lese-/Schreiboperationen über Entity Framework (C#), Hibernate (Java), SQLAlchemy (Python) und GORM (Go).
- Algorithmische Last — Array-Sortierung und kryptografische Hashes.
Ergebnisse: Wer führt?
Den Messungen zufolge belegte C# auf .NET 9 souverän den zweiten Platz, nur hinter Rust (durchschnittliche Geschwindigkeitssteigerung von 4–7 % dank AOT-Kompilierung). Die wichtigsten Kennzahlen sprechen jedoch für sich:
- JSON-Serialisierung (Anfragen/Sek.): C# — 1.520.000, Go — 1.410.000, Java — 1.200.000, Python — 320.000.
- Multithreading (Beschleunigung auf 64 Threads): C# — 42x, Java — 38x, Go — 35x, Python — 8x (GIL-Einschränkung).
- Datenbankarbeit (Operationen/Sek.): C# — 85.000, Go — 81.000, Java — 74.000, Python — 22.000.
- Speicherverbrauch pro 1.000 Anfragen: C# — 12 MB, Rust — 8 MB, Go — 15 MB, Java — 28 MB, Python — 45 MB.
Warum gewinnt C#?
Das .NET-Ökosystem entwickelt sich weiterhin aktiv. In Version .NET 9 wurden folgende Optimierungen implementiert:
- Neuer JIT-Compiler (Tiered PGO) — passt Code an reale Ausführungsmuster an.
- Native AOT — vorherige Kompilierung in Maschinencode, die die Startzeit auf 50 ms verkürzt.
- Bibliothek
System.Text.Json— eine der schnellsten Serialisierungsimplementierungen aller Sprachen. - Asynchrone Streams (IAsyncEnumerable) — minimale Gemeinkosten für I/O.
Fazit für Entwickler
Wenn Sie einen Stack für einen hochbelasteten Mikroservice wählen, ist C# (.NET) ein klarer Kandidat für die Top 3. Es ist deutlich schneller als Python (4–5 Mal bei typischen Aufgaben), übertrifft Java stabil in Geschwindigkeit und Speicherverbrauch und übertrifft Go und Rust in Bezug auf Entwicklungsfreundlichkeit und verfügbare Werkzeuge (IDE, Debugger, Profiler). Der einzige Nachteil ist die Lizenzierung für kommerzielle Projekte (eine Visual Studio-Lizenz für Enterprise-Funktionen erforderlich), aber die Community-Version deckt die meisten Anforderungen ab.