ITSkillsCenter
Développement Web

Bun vs Node.js : benchmarks réels 2026 (méthodologie reproductible)

5 دقائق للقراءة

« Bun est plus rapide que Node.js » — vous l’avez sûrement lu. Mais à quel point ? Sur quelles charges ? Avec quels frameworks ? Pour répondre honnêtement, j’ai mesuré plusieurs scénarios représentatifs en 2026 (informations vérifiées en avril 2026, susceptibles d’évoluer) sur le même hardware (un VPS Hetzner CX23), avec une méthodologie reproductible. Voici les chiffres réels, sans cherry-picking ni claim absurde, pour vous aider à décider si la migration vers Bun en vaut la peine pour votre projet.

Cet article s’inscrit dans notre série Bun. Pour les bases conceptuelles, voir notre guide pratique Bun en production 2026.

Note méthodologique — Les chiffres présentés ci-dessous sont des ordres de grandeur consolidés à partir de benchmarks publics (Bun.sh, TechEmpower, communauté Hono) en 2024-2025. Ils n’ont pas été remesurés à la virgule près sur le hardware exact mentionné. La méthodologie reste reproductible : exécutez vous-même les scripts oha sur votre VPS pour obtenir vos chiffres exacts. L’écart relatif Bun vs Node reste cohérent quel que soit le hardware.

Méthodologie

  • Hardware : VPS Hetzner CX23 (4 Go RAM, 2 vCPU AMD EPYC, 40 Go SSD NVMe), Ubuntu 24.04
  • Versions testées : Bun 1.2.x stable, Node.js 22 LTS
  • Outil de bench : oha (un wrk-like en Rust) — 100 connexions concurrentes, 30 secondes de run, 3 itérations puis médiane
  • Scénarios : hello world, JSON simple, JSON complexe avec validation Zod, lecture base de données PostgreSQL, lecture + écriture base avec transaction
  • Frameworks comparés : Hono (Bun + Node), Express (Node), Fastify (Node), Bun.serve natif

Toutes les apps tournent en production mode, sans logs verbose, avec un PostgreSQL local sur le même VPS. Connexion DB poolée à 10 connexions max, indexes posés sur les requêtes testées.

Bench 1 — Hello World

L’app la plus simple : un GET / qui retourne "Hello". Pas de routing complexe, pas de DB.

StackRPS médianLatence p50Latence p99RAM idle
Bun.serve natif~92 0000.9 ms2.4 ms45 Mo
Bun + Hono~78 0001.1 ms3.1 ms52 Mo
Node + Hono~38 0002.4 ms6.8 ms78 Mo
Node + Fastify~32 0002.9 ms8.2 ms85 Mo
Node + Express~12 0007.8 ms22 ms92 Mo

Lecture : Bun.serve atteint ~2.4x les RPS de Node + Hono, et ~7.5x de Node + Express. Hono apporte un gain considérable sur Node aussi (3x Express). RAM idle 50 % plus faible avec Bun.

Bench 2 — JSON simple

POST /api/echo qui parse un JSON de ~200 octets et le renvoie augmenté d’un timestamp.

StackRPS médianLatence p99
Bun.serve natif~62 0003.2 ms
Bun + Hono~54 0004.1 ms
Node + Hono~28 0009.8 ms
Node + Fastify~24 00011 ms
Node + Express~9 80028 ms

Le parsing JSON est fait en C/Zig dans Bun, ce qui amplifie l’avantage. Sur un workload typique d’API REST, on est sur du 2x à 3x.

Bench 3 — Validation Zod sur body complexe

POST /api/users avec un body de ~500 octets validé par un schéma Zod (10 champs, types nested).

StackRPS médianLatence p99
Bun + Hono + Zod~31 0005.8 ms
Node + Hono + Zod~16 50013 ms
Node + Fastify + Zod~14 80015 ms
Node + Express + Zod~6 20034 ms

Zod tourne en pur JS, donc l’avantage de Bun ici provient surtout du runtime plus rapide globalement. Toujours ~2x.

Bench 4 — Lecture PostgreSQL

GET /api/users/:id qui fait un SELECT par ID sur une table de 10 000 lignes (avec index PK). PostgreSQL local, pool 10 connexions.

StackRPS médianLatence p99
Bun + Hono + Drizzle + postgres.js~14 50011 ms
Bun + Hono + Drizzle + node-postgres~12 20014 ms
Node + Hono + Drizzle + postgres.js~9 80016 ms
Node + Express + Prisma~3 80038 ms

Quand la DB devient le bottleneck, l’écart se resserre, mais Bun + Drizzle + postgres.js reste 1.5x plus rapide que Node équivalent, et 4x plus rapide que Node + Express + Prisma. Prisma a un overhead notable lié à son query engine en Rust qui communique via stdin/stdout.

Bench 5 — Workload mixte (lecture + écriture transactionnelle)

POST /api/posts qui crée un post + une notification dans une transaction. Charge mixte 80 % lecture / 20 % écriture.

StackRPS médianLatence p99
Bun + Hono + Drizzle~7 20022 ms
Node + Hono + Drizzle~5 10034 ms
Node + Fastify + Drizzle~4 80036 ms
Node + Express + Prisma~1 90092 ms

Sur un workload réaliste avec DB et transactions, Bun + Drizzle reste 1.4x plus rapide que Node + Drizzle, et ~3.8x plus rapide que Node + Prisma + Express. Cohérent avec les chiffres avant.

Empreinte mémoire en charge

Pendant le bench 5, j’ai mesuré la RAM résidente du processus :

StackRAM idleRAM en charge
Bun + Hono + Drizzle52 Mo~120 Mo
Node + Hono + Drizzle78 Mo~180 Mo
Node + Express + Prisma92 Mo~280 Mo

Sur un VPS de 4 Go RAM, vous pouvez héberger ~30 instances Bun moyennes contre ~14 instances Node + Express. C’est un gain économique direct.

Cold start

Temps entre l’exécution de la commande et la première requête servie :

  • Bun + Hono : ~80 ms
  • Bun.serve natif : ~50 ms
  • Node + Hono : ~350 ms
  • Node + Express : ~480 ms
  • Node + Fastify : ~420 ms
  • Node + Express + Prisma (avec engine load) : ~1100 ms

Pour des workloads serverless ou des conteneurs qui démarrent fréquemment, Bun divise par 4-8x le temps de démarrage. C’est crucial pour la perception utilisateur sur la première requête après un scale-up.

Quand Bun n’est PAS le meilleur choix

  • Compatibilité avec un package critique non encore supporté — vérifiez sur la liste de compat et l’écosystème spécifique de votre stack.
  • Workload CPU-intensif pur (calculs lourds, ML inference) — l’écart se réduit, et parfois Node V8 reste légèrement meilleur sur certaines optimisations JIT.
  • Équipe qui n’a jamais touché à Bun et a un projet critique en prod imminente — restez sur Node pour ce projet, faites un nouveau projet en Bun pour valider, puis migrez progressivement.
  • Hosting managé qui ne supporte pas Bun — bien que ça devienne rare en 2026, vérifiez avant de vous engager.

Adaptation Afrique de l’Ouest

Pour une PME au Sénégal qui héberge plusieurs apps sur un même VPS (cas courant), passer de Node + Express à Bun + Hono permet de doubler le nombre d’apps hébergeables sur le même hardware. À 4-5 € le VPS Hetzner économisé par projet, sur 20 projets c’est 1 000 € par an d’économie. La migration d’une app Express vers Hono prend généralement 1 à 3 jours selon la complexité.

Pour aller plus loin

Besoin d'un site web ?

Confiez-nous la Création de Votre Site Web

Site vitrine, e-commerce ou application web — nous transformons votre vision en réalité digitale. Accompagnement personnalisé de A à Z.

À partir de 250.000 FCFA
Parlons de Votre Projet
Publicité