Benchmark 2025 : JavaScript (Node.js) contre ses concurrents – qui est le plus rapide ?
En 2025, l'écosystème du développement backend est devenu encore plus concurrentiel. JavaScript (Node.js) conserve ses positions grâce à son modèle asynchrone et à son immense communauté, mais les autres langages ne restent pas immobiles. Nous avons analysé les résultats récents des benchmarks (TechEmpower Round 24, Techempower Web Framework Benchmarks, ainsi que des tests indépendants de la communauté) et sommes prêts à partager les conclusions clés.
Les tests ont été effectués sur des serveurs cloud identiques (4 vCPU, 8 Go de RAM, SSD). Trois paramètres clés ont été mesurés :
- Requêtes par seconde (RPS) — le nombre de requêtes par seconde (sérialiseur JSON pur et CRUD simple).
- Latence (p99) — le délai en millisecondes sous charge.
- Empreinte mémoire — la consommation de RAM en mégaoctets.
Résultats : Node.js vs concurrents
1. Sérialiseur JSON pur (Hello World + réponse JSON) :
- Rust (Actix-web) : ~1 200 000 RPS — leader absolu en vitesse.
- Go (Fiber) : ~850 000 RPS — excellent indicateur pour la production.
- Node.js (Fastify) : ~620 000 RPS — un résultat très honorable, surtout compte tenu du typage dynamique.
- Java (Spring Boot 3 + Virtual Threads) : ~400 000 RPS — a fortement progressé grâce aux threads virtuels.
- Python (FastAPI + uvloop) : ~120 000 RPS — traditionnellement le plus lent, mais 40 % plus rapide qu'en 2023.
2. CRUD avec base de données (PostgreSQL, 10 000 enregistrements) :
- Rust (Actix-web + sqlx) : ~280 000 RPS — latence minimale.
- Go (Fiber + pgx) : ~230 000 RPS.
- Node.js (Fastify + Prisma) : ~180 000 RPS — forte gestion asynchrone des E/S.
- Java (Spring Boot + R2DBC) : ~150 000 RPS.
- Python (FastAPI + asyncpg) : ~45 000 RPS.
Consommation mémoire (benchmark JSON, valeur moyenne) :
- Rust : ~12 Mo — consommation minimale.
- Go : ~18 Mo.
- Node.js : ~35 Mo — plus élevé à cause de V8 et du GC.
- Java : ~120 Mo (avec threads virtuels — ~90 Mo).
- Python : ~45 Mo.
Conclusions pour les développeurs en 2025
- Node.js reste le meilleur choix pour les applications à forte intensité d'E/S (serveurs de chat, passerelles API, BFF). La vitesse de développement et le riche écosystème NPM compensent le retard de 2 à 3 fois en RPS par rapport à Rust/Go.
- Rust et Go sont optimaux pour les microservices à forte charge, où chaque milliseconde et l'économie de mémoire sont critiques.
- Python s'est accéléré, mais reste 5 fois plus lent que Node.js en pur