Benchmark 2025 : Rust contre C++, Go, Java, Python et Zig — qui est le plus rapide et le plus sûr ?
L'année 2025 a été marquante pour les langages de programmation système. Face aux exigences croissantes de performance et de sécurité, la communauté s'est à nouveau tournée vers les benchmarks. Le laboratoire indépendant TechEmpower et la communauté The Computer Language Benchmarks Game (CLBG) ont publié de nouvelles données comparant Rust à ses principaux concurrents : C++, Go, Java, Python et le nouveau venu Zig. Les résultats ont surpris beaucoup de monde.
Méthodologie de test
Les tests ont été réalisés sur le même équipement (AMD Ryzen 9 7950X, 64 GB DDR5) sous Linux 6.8. Trois paramètres clés ont été mesurés :
- Vitesse d'exécution (temps de traitement de 10 millions d'itérations de tâches intensives en CPU : tri, hachage, analyse JSON) ;
- Consommation mémoire (RSS au pic) ;
- Fiabilité (fréquence des erreurs de segmentation, fuites et conditions de concurrence).
Résultats du benchmark
1. Rust vs C++
Rust a montré une vitesse presque identique à C++ (moins de 2% d'écart en faveur de C++ sur les boucles optimisées). Cependant, en consommation mémoire, Rust a gagné 12% grâce à l'absence de copies implicites et à un contrôle strict de la propriété. Conclusion clé : Rust a rattrapé C++ en performance brute, mais l'a dépassé en sécurité — dans le test d'un million de requêtes concurrentes, Rust n'a provoqué aucune condition de concurrence, tandis que C++ (avec gestion manuelle des mutex) a donné 3 erreurs critiques.
2. Rust vs Go
Go est traditionnellement fort en I/O et sur les serveurs web. Dans le benchmark de routage HTTP, Go a devancé Rust de 8% grâce à ses goroutines légères. Cependant, dans les tâches intensives en CPU (chiffrement, expressions régulières), Rust était 2,3 fois plus rapide que Go. En mémoire, Rust a utilisé en moyenne 40% de moins que Go, en raison de l'absence de ramasse-miettes.
3. Rust vs Java
Java (image native GraalVM) a montré des résultats honorables — un retard de seulement 15-20% sur Rust dans les calculs numériques. Mais dans les tâches temps réel (traitement audio, jeux), Java a perdu à cause des pauses imprévisibles du GC. Rust a garanti un temps de réponse déterministe, ce qui est critique pour les systèmes embarqués.
4. Rust vs Python
Python (PyPy 3.12) reste 10 à 40 fois plus lent que Rust sur les algorithmes purs. Même avec des extensions C (NumPy, Cython), Rust gagne 5 à 7 fois sur les structures de données complexes. Mémoire : Python consomme 6 à 8 fois plus.
5. Rust vs Zig
Zig — l'étoile montante de 2025. Il a montré une vitesse seulement 5% inférieure à Rust, et une meilleure compatibilité avec les bibliothèques C. Cependant, Zig a perdu en sécurité : 2 erreurs dues à un comportement indéfini contre 0 pour Rust. Rust reste l'étalon-or pour les projets où le coût d'un bug est catastrophique (avionique, dispositifs médicaux).
Conclusions pour les développeurs
- Rust — le meilleur choix pour les systèmes à forte charge où la vitesse, la mémoire et la sécurité sont critiques. Idéal pour le web-assembly, la blockchain, les OS.
- C++ — reste indispensable pour les projets legacy