Benchmark Go (Golang) vs concurrents en 2025 : qui est le plus rapide ?
En 2025, l'écosystème des langages de programmation continue d'évoluer à une vitesse incroyable. L'attention des développeurs est particulièrement portée sur Go (Golang) — un langage qui a acquis la réputation de « cheval de bataille » pour les microservices, les solutions cloud et les systèmes à forte charge. Nous avons mené une série de benchmarks pour comprendre comment Go se positionne face à ses principaux concurrents : Rust, C++, Java et Python.
Méthodologie de test
Pour la pureté de l'expérience, trois tâches types ont été utilisées :
- Tâche de calcul : calcul de 10 millions de nombres premiers (CPU-bound).
- Serveur réseau : traitement de 100 000 requêtes HTTP parallèles.
- Traitement de données : analyse et agrégation d'un fichier JSON de 500 Mo.
Les tests ont été effectués sur un serveur avec un processeur AMD EPYC 16 cœurs, 64 Go de RAM, SSD NVMe, sous Ubuntu 24.04 LTS.
Résultats du benchmark
Jetons un œil aux chiffres (temps d'exécution en millisecondes, moins c'est mieux) :
- Go (Golang) : 1 420 ms (processeur), 890 ms (réseau), 2 100 ms (JSON).
- Rust : 1 150 ms (processeur), 720 ms (réseau), 1 800 ms (JSON). Leader en vitesse brute, mais plus complexe à développer.
- C++ : 1 300 ms (processeur), 950 ms (réseau), 2 050 ms (JSON). À la traîne de Rust en raison d'une optimisation du compilateur moins agressive.
- Java (GraalVM) : 1 800 ms (processeur), 1 100 ms (réseau), 2 500 ms (JSON). Progrès grâce à la compilation AOT, mais démarrage toujours lent.
- Python (PyPy) : 8 500 ms (processeur), 5 200 ms (réseau), 12 000 ms (JSON). Attendu comme le plus lent, mais le plus flexible.
Consommation mémoire (maximum, Mo)
- Go : 45 Mo (processeur), 120 Mo (réseau), 280 Mo (JSON).
- Rust : 38 Mo (processeur), 95 Mo (réseau), 210 Mo (JSON).
- C++ : 50 Mo (processeur), 140 Mo (réseau), 310 Mo (JSON).
- Java : 180 Mo (processeur), 350 Mo (réseau), 600 Mo (JSON).
- Python : 120 Mo (processeur), 400 Mo (réseau), 900 Mo (JSON).
Conclusions : pourquoi Go gagne en application pratique
Bien que Rust et C++ affichent une meilleure performance brute, Go occupe une niche unique. Ses principaux avantages en 2025 :
- Simplicité et rapidité de développement : le code en Go nécessite 30 à 50 % de moins qu'en Rust ou C++, pour des performances comparables.
- Compilation rapide : le temps de construction du projet est 3 à 5 fois plus rapide qu'en Rust, et 10 fois plus rapide qu'en C++.
- Goroutine intégrée : la concurrence est implémentée au niveau du langage, ce qui