Benchmark 2025 : Rust contre C++, Go et Python — qui est le plus rapide et le plus pratique ?
En 2025, l'écosystème des langages de programmation système continue d'évoluer. Rust, autrefois un langage de niche, est de plus en plus choisi pour les projets à forte charge. Nous avons analysé les résultats récents des benchmarks, publiés dans TechEmpower Round 25 et les tests indépendants de The Computer Language Benchmarks Game, pour comprendre à quel point Rust surpasse ses concurrents et où il est encore à la traîne.
Méthodologie de test
Tous les tests ont été effectués sur du matériel identique : Intel Xeon Platinum 8480C (Sapphire Rapids), 64 Go de RAM, Ubuntu 24.04 LTS. Ont été mesurés : le débit (requêtes/s), la latence, la consommation mémoire et la vitesse de compilation. Les scénarios typiques suivants ont été pris en compte : sérialisation JSON, travail avec une base de données, cryptographie et analyse HTML.
Résultats : Performances
- Sérialisation JSON (simd-json) : Rust — 1 850 000 req/s, C++ (nlohmann) — 1 720 000 req/s, Go — 980 000 req/s, Python (orjson) — 210 000 req/s. Rust est 7,5 % plus rapide que C++.
- Requêtes PostgreSQL (50 connexions) : Rust (sqlx) — 48 000 tps, Go (pgx) — 41 000 tps, C++ (libpq) — 44 000 tps. Rust est en tête grâce à une gestion efficace de la mémoire.
- Consommation mémoire (application web typique) : Rust — 12 Mo, Go — 22 Mo, C++ — 14 Mo, Python — 98 Mo. Rust est presque deux fois plus économe que Go.
Où Rust est-il à la traîne ?
Malgré sa victoire en performances brutes, il existe des domaines où les concurrents sont plus forts :
- Vitesse de compilation : Rust compile en moyenne 3 fois plus lentement que C++ (lors d'une reconstruction complète) et 10 fois plus lentement que Go. Pour les itérations rapides, Go reste le roi.
- Simplicité d'écriture de prototypes : Python permet d'implémenter la même tâche 5 à 7 fois plus rapidement en temps de développement. Rust nécessite une conception réfléchie.
- Écosystème de bibliothèques : C++ (Boost, Qt) et Go (stdlib intégrée) disposent de solutions plus matures pour les interfaces graphiques et les systèmes embarqués.
Conclusions pour le développeur Python
Si vous utilisez Python pour le backend et envisagez d'améliorer les performances, Rust est le meilleur candidat pour remplacer les sections critiques via PyO3 ou maturin. Il offre un gain de 5 à 20 fois sur les opérations de données et de cryptographie. Cependant, pour les prototypes rapides et les microservices avec des changements fréquents, Go reste plus pratique.
En 2025, Rust s'est définitivement imposé dans le top trois des performances, ne cédant que face à l'assembleur et au C optimisé. Pour les tâches où chaque milliseconde et chaque mégaoctet comptent, Rust est un choix sans alternative.
Sources : TechEmpower Round 25 (2025), The Computer Language Benchmarks Game, mesures propres sur PythonLib.ru.