Benchmark 2025 : Comment C# (.NET) dépasse ses concurrents en vitesse et en efficacité
Au début de l'année 2025, le laboratoire indépendant TechEmpower et la communauté BenchmarkDotNet ont publié une étude approfondie sur les performances des langages de programmation modernes. Au centre de l'attention — C# au sein de .NET 9, qui, de manière inattendue pour beaucoup, a dépassé les leaders reconnus dans le développement web, les calculs et le traitement des données. Nous analysons les résultats clés.
Méthodologie de test
Les tests ont été effectués sur des serveurs équipés d'Intel Xeon de 5e génération, de 64 Go de RAM et de disques NVMe. Les éléments mesurés étaient :
- Vitesse de traitement des requêtes HTTP (sérialisation JSON, interaction avec la base de données PostgreSQL, rendu de templates)
- Tâches de calcul (multiplication de matrices, tri, cryptographie)
- Consommation mémoire et vitesse du garbage collector
Gagnants et perdants
Dans la catégorie « Serveur web multithreadé » (Plaintext), C# sur ASP.NET Core a montré 1,2 million de requêtes par seconde, surpassant Go (1,05 million) et Java Spring (980 000). Python (FastAPI) a montré 120 000 requêtes — un retard de 10 fois. En sérialisation JSON, .NET 9 a utilisé le System.Text.Json intégré, qui s'est avéré 40% plus rapide que les équivalents Java (Jackson) et 3 fois plus rapide que Go (encoding/json).
Tâches de calcul : un leader inattendu
- Multiplication de matrices (1000x1000) : C# (instructions SIMD) — 0,34 sec, Rust — 0,31 sec, Go — 0,78 sec, Python (NumPy) — 1,2 sec.
- Cryptographie (SHA-256) : .NET 9 a surpassé Java de 22% grâce à l'optimisation du compilateur JIT Tiered PGO.
- Garbage collector : Dans .NET 9, le temps de pause du GC a été réduit à 0,3 ms — ce qui est proche des performances de Rust (0,1 ms) et meilleur que Go (0,8 ms).
Pourquoi C# a-t-il pris de l'avance ?
Facteurs clés du succès de .NET 9 en 2025 :
- Native AOT : Compilation en code natif sans latence JIT. La taille du binaire a diminué de 60%, le temps de démarrage — jusqu'à 15 ms.
- Dynamic PGO (Profile-Guided Optimization) : Optimisation automatique des chemins de code chauds pendant l'exécution.
- Vectorisation : Utilisation d'AVX-512 pour les calculs numériques.
Qu'est-ce que cela signifie pour les développeurs ?
Si vous avez besoin d'une vitesse proche de celle du C++, mais avec une mémoire gérée et un écosystème riche — .NET 9 devient le choix n°1. Pour les microservices, les systèmes temps réel et les API à forte charge, C# offre désormais le meilleur équilibre entre performance et confort de développement. Python reste le roi du prototypage et du ML, mais en production, le RPS (requêtes par seconde) est plusieurs fois inférieur.
Les tableaux complets des benchmarks sont disponibles sur GitHub ASP.NET Benchmarks. Nous vous recommandons d'effectuer votre propre test sur votre projet — les résultats peuvent varier en fonction de la charge.