← Tous les benchmarks

BENCHMARKS · 29 OCTOBRE 2026

PRNext vs Next.js avec 0,7 CPU · 700 Mio : le compromis CPU/RAM

Quand le CPU est contraint, réduire son coût par réponse peut aider. Mais sur un petit serveur, quelques Mio de plus comptent aussi. Ce cas montre pourquoi les deux mesures doivent rester côte à côte.

Mesuré : candidat PRNext 0.1.18-alpha, distinct de l’archive finale npm. Détails et empreintes ci-dessous. Quel code a été mesuré ?

SSR : du CPU économisé, davantage de mémoire

Sur la page de 100 lignes, le candidat PRNext consomme environ 37 % de CPU en moins par réponse et délivre 59 % de requêtes validées en plus que Next.js. Sa PSS médiane est toutefois supérieure d’environ 12 %. Le résultat peut intéresser une application limitée par le CPU, sans démontrer une économie de RAM.

Le budget impose un quota de 0,7 CPU et une limite mémoire de 700 Mio sur un hôte de 1 vCPU et 1,9 Gio. Le générateur partage ce CPU physique. Les mesures décrivent donc ce montage précis, avec sa contention, et non tous les petits VPS du marché.

Streaming et gros rendu : regarder le coût réel

Le streaming inclut une attente Suspense de 40 ms. Son CPU par réponse baisse d’environ 42 % avec PRNext, tandis que sa mémoire reste plus élevée. L’attente fait partie du scénario : cette route ne représente pas toute application qui utilise le streaming.

La page de 1 000 lignes augmente fortement le coût CPU pour les deux runtimes. Sur ce budget, PRNext garde un petit avantage de débit, mais seulement deux fenêtres ne suffisent pas à considérer cet écart comme stable. Pour une API rapide, contrôlez aussi le signal de limitation du générateur avant de tirer une conclusion.

Pour décider sur un petit VPS

Mesurez le serveur avec vos dépendances et votre base de données, puis gardez une marge pour les pointes. Une PSS mesurée sous une limite de 700 Mio ne signifie pas qu’un VPS de 700 Mio suffit : le système, les autres services et la charge réelle ont aussi besoin de mémoire. Validez enfin la compatibilité de vos routes avant de changer de runtime.

Les quatre scénarios, sans sélection des seuls gains

Quota 0,7 CPU · 700 Mio · Node 22.23.4 · 1 worker PRNext · 1 processus Next.js · old-space 384 Mio

Plus haut pour le débit, plus bas pour la latence, le CPU et la mémoire.

SSR · 100 lignes
MesurePRNext candidatNext.js 16.4.3
Débit validéreq/s81,3351,00
Latence p95ms264,25420,90
CPU / réponsems CPU8,4613,39
Mémoire PSSMio113,88101,38
SSR lourd · 1 000 lignes
MesurePRNext candidatNext.js 16.4.3
Débit validéreq/s11,3310,33
Latence p95ms1 550,251 661,80
CPU / réponsems CPU58,9262,10
Mémoire PSSMio139,51119,46
API JSON · 16 entrées
MesurePRNext candidatNext.js 16.4.3
Débit validéreq/s518,17352,80
Latence p95ms61,4090,05
CPU / réponsems CPU1,271,94
Mémoire PSSMio139,63113,08

Le générateur peut limiter le débit de ce scénario. Un écart faible ne suffit pas à départager les runtimes.

Streaming · Suspense 40 ms
MesurePRNext candidatNext.js 16.4.3
Débit validéreq/s138,1380,03
Latence p95ms182,65307,25
CPU / réponsems CPU4,988,62
Mémoire PSSMio135,32115,54

Quel budget ressemble à votre projet ?

Comment lire ce benchmark

La campagne du 2026-10-29 utilise React 19.3.1, le profil PRNext Balanced et gzip. Chaque variante passe par 5 secondes de chauffe, puis 15 secondes de mesure avec 16 connexions. Les valeurs affichées sont les médianes de deux fenêtres alternées par variante, route et budget.

Le débit compte les réponses réussies et validées. Le CPU est le temps CPU consommé par réponse réussie. La RAM est la PSS médiane de l’arbre des processus, en Mio ; elle ne représente ni le RSS, ni toute la mémoire du VPS. La latence affichée est la médiane des deux p95, pas un p95 recalculé sur toutes les requêtes.

Quel code a été mesuré ?

PRNext est un candidat de développement pour 0.1.18-alpha, dont le manifeste indique 0.1.17-alpha. Next.js est en version 16.4.3. La version finale 0.1.18-alpha n’a pas été mesurée par cette campagne : ces chiffres ne constituent pas une mesure de son archive npm.

Source commit
2856155dc32618d00ea7cbe05d771f589c9df536
Native SHA-256
e78bce35c1029500eec67d4aad5e3c08a5d9b74b3125aa3d10c854c5a286b843
Package SHA-256
0099abf612f223625caf769f97608be1b4f6daf87a33c2bc92abe9517edbb095

Ce que ces résultats ne prédisent pas

Deux répétitions courtes sur une application synthétique ne donnent pas d’intervalle de confiance. Le petit VPS partage son CPU avec le générateur de charge et les routes API rapides peuvent être limitées par celui-ci. Les machines et versions de Node diffèrent entre les hôtes : comparer les budgets ne permet pas d’isoler l’effet du matériel.

Ces mesures ne donnent pas le nombre d’utilisateurs simultanés de votre produit, le nombre de projets qu’un VPS peut héberger, ni une économie sur une facture. Une base de données, des appels externes, les caches, le navigateur et le réveil d’une application changent le résultat. Les observations de veille et d’endurance restent dans le comparatif complet.

Tester sur votre application

Commencez par vos routes les plus visitées et les plus coûteuses. Vérifiez le contenu et les erreurs avant de comparer la vitesse. Gardez le même quota, les mêmes dépendances, les mêmes réglages de cache et la même charge pour les deux runtimes. Répétez des fenêtres plus longues avant de décider.

Données et protocole

Télécharger les données JSON ↗Lire le comparatif complet →Application de test et routes mesurées ↗Générateur de charge corrigé ↗