Test de performance de la mémoire
Mesurez l'allocation de tableaux typés et le débit de lecture/écriture dans votre navigateur, et voyez quelles figures de mémoire votre navigateur expose réellement.
Browser-reported memory
navigator.deviceMemory
Not exposed by this browser
JS heap (performance.memory)
Not exposed by this browser
Chromium browsers round deviceMemory to one of 0.25, 0.5, 1, 2, 4 or 8 GB, and it can be lower than your real RAM. Firefox and Safari do not expose either figure, which is normal and not a bug.
Throughput benchmark
Allocates and reads/writes typed arrays in JavaScript to estimate practical memory speed.
Guide rapide : comment utiliser le Benchmark Mémoire
Prend moins d'une minute- 1Fermez les onglets gourmands en mémoire pour que le navigateur puisse allouer librement.
- 2Exécutez le benchmark et laissez chaque phase se terminer.
- 3Vérifiez l'allocation, la lecture et l'écriture séparément.
- 4La limite de tas affichée est une limite du navigateur, pas votre RAM totale.
Aperçu
La vitesse de la mémoire reçoit rarement autant d'attention que la vitesse d'horloge du CPU ou le modèle de GPU, mais elle affecte silencieusement tout ce qu'un ordinateur fait. Chaque instruction exécutée par un processeur doit finalement lire ou écrire des données quelque part, et si ces données doivent transiter par une mémoire lente, même un CPU rapide finit par attendre. Ce test vous offre un aperçu basé sur le navigateur de la rapidité avec laquelle JavaScript peut allouer de la mémoire et y déplacer des données, en plus des chiffres de mémoire que votre navigateur spécifique est prêt à exposer.
Le benchmark fonctionne avec des tableaux typés, spécifiquement des tampons Float64Array, qui sont l'équivalent JavaScript le plus proche des blocs de mémoire bruts. Il chronomètre quatre opérations distinctes : la rapidité d'allocation de nouveaux tableaux, la rapidité d'écriture des données dans un tableau dans l'ordre, la rapidité de relecture de ces mêmes données dans l'ordre, et la façon dont ces vitesses changent lorsque le modèle d'accès à la mémoire est aléatoire au lieu de séquentiel.
En plus des chiffres de débit, cette page lit deux chiffres exposés par le navigateur, lorsqu'ils sont disponibles : navigator.deviceMemory, une approximation grossière de la RAM totale du système, et performance.memory, qui indique la taille actuelle et maximale du tas JavaScript dans les navigateurs basés sur Chromium. Les deux ont de réelles limitations qu'il est important de comprendre avant d'en tirer des conclusions.
Comment lire vos résultats
Débit d'allocation
Cela mesure combien de mégaoctets par seconde votre navigateur peut allouer en mémoire pour de nouveaux tableaux. C'est autant influencé par le gestionnaire de mémoire et le ramasse-miettes du moteur JavaScript que par le matériel brut, donc les différences ici en disent souvent plus sur le navigateur que sur les puces RAM elles-mêmes.
Accès séquentiel vs aléatoire
Les chiffres de lecture et d'écriture séquentielles devraient être nettement supérieurs aux chiffres de lecture et d'écriture aléatoires, et cet écart est normal et attendu sur chaque ordinateur en raison du fonctionnement des caches CPU. Un très petit écart entre les vitesses séquentielles et aléatoires peut en fait indiquer un cache processeur très rapide par rapport à la taille de la mémoire, et non un problème.
Chiffres deviceMemory et heap
Traitez navigator.deviceMemory comme un indicateur de niveau approximatif plutôt que comme un chiffre exact de RAM, car Chromium le plafonne à 8 Go, quelle que soit la quantité de RAM réellement installée. Les chiffres du tas JS reflètent ce qui est alloué à cet onglet de navigateur spécifique à l'instant T, et augmenteront au fur et à mesure que la page et ses outils fonctionneront, ce qui est un comportement attendu plutôt qu'une fuite de mémoire.
Dépannage
Les chiffres deviceMemory ou heap affichent 'Non exposé'
C'est attendu dans Firefox et Safari, qui n'implémentent pas du tout ces API pour des raisons de confidentialité. Passez à Chrome, Edge, Brave ou un autre navigateur basé sur Chromium si vous avez spécifiquement besoin de voir ces chiffres.
Les chiffres de débit semblent inhabituellement bas
Fermez les autres onglets gourmands en mémoire, en particulier ceux avec de grandes images, des vidéos ou de nombreux onglets ouverts du même site, car ils se disputent le même espace de tas JavaScript et la RAM physique. Redémarrer complètement le navigateur, plutôt que de simplement fermer les onglets, efface la fragmentation de la mémoire accumulée qui peut également ralentir les choses.
L'onglet du navigateur a planté ou est devenu non réactif pendant le test
Cela peut arriver sur des appareils avec très peu de RAM disponible, car le benchmark a besoin de quelques centaines de mégaoctets de marge pour exécuter ses tableaux typés. Fermez les autres applications et onglets pour libérer de la mémoire, puis réessayez avec moins d'éléments exécutés simultanément.
Ce que les navigateurs cachent délibérément, et pourquoi
Des informations détaillées sur la mémoire peuvent être utilisées pour identifier un appareil, car les quantités exactes de RAM combinées à d'autres signaux permettent de restreindre le modèle d'appareil spécifique utilisé par quelqu'un. Pour cette raison, aucun navigateur n'expose la RAM exacte en gigaoctets, la vitesse exacte de la mémoire en MHz, ou la configuration des canaux de mémoire. Chrome fait un compromis en arrondissant deviceMemory en six grandes catégories, tandis que Firefox et Safari suppriment complètement l'API plutôt que de risquer qu'elle ne soit utilisée pour le suivi.
Cela signifie qu'un test de mémoire basé sur le navigateur ne peut jamais entièrement remplacer des outils comme le Gestionnaire des tâches, le Moniteur d'activité ou le panneau d'informations système d'un fabricant pour vérifier la RAM installée exacte. Ce à quoi il sert plutôt, c'est à mesurer le débit pratique et à comparer ce débit entre les navigateurs ou après un changement matériel, comme l'ajout d'une barrette de RAM ou la mise à niveau vers un kit de mémoire plus rapide.
Quand la mémoire est réellement votre goulot d'étranglement
Si votre ordinateur semble lent spécifiquement lorsque vous avez de nombreux onglets de navigateur ou applications ouverts simultanément, et qu'il retrouve sa vitesse après en avoir fermé certains, c'est un signe classique que la capacité de la mémoire, et non sa vitesse, est la contrainte. Si, au lieu de cela, tout semble lent même avec peu de choses ouvertes, et que les chiffres de débit de ce benchmark sont considérablement inférieurs à ce qui est typique pour un matériel similaire, cela indique plutôt un problème de vitesse ou de configuration de la mémoire, comme de la RAM fonctionnant dans un mode plus lent que celui pour lequel elle est évaluée.
- Vérifiez la quantité et la vitesse de la RAM installée dans le panneau d'informations système de votre OS, pas seulement avec ce test de navigateur.
- Comparez les chiffres de ce test avant et après la fermeture des applications en arrière-plan.
- Associez ce test aux benchmarks CPU et de stockage sur ce site pour éliminer d'autres goulots d'étranglement.
Foire aux questions
Un site web peut-il réellement mesurer la vitesse de ma RAM ?
Un site web peut mesurer la rapidité avec laquelle JavaScript peut allouer et accéder à des tableaux typés, ce qui est corrélé à la vitesse réelle de la mémoire, mais inclut également la surcharge du moteur JavaScript, du ramasse-miettes et du comportement du cache CPU. C'est une mesure pratique utile, pas un test de bande passante mémoire de qualité laboratoire comme vous l'obtiendriez avec un logiciel de diagnostic matériel dédié.
Pourquoi navigator.deviceMemory affiche-t-il un nombre inférieur à ma RAM réelle ?
Les navigateurs basés sur Chromium arrondissent et plafonnent délibérément cette valeur à l'un des petits ensembles de nombres (0.25, 0.5, 1, 2, 4 ou 8 Go) comme mesure de confidentialité, de sorte qu'un système avec 32 Go de RAM rapportera toujours un maximum de 8. C'est intentionnel et non un signe de problème.
Pourquoi Firefox ou Safari n'affichent-ils pas du tout deviceMemory ou performance.memory?
Ces deux navigateurs choisissent de ne pas implémenter ces API, principalement par crainte que des informations détaillées sur la mémoire puissent être utilisées pour identifier ou suivre les utilisateurs sur différents sites. Si vous avez besoin de ces informations, Chrome, Edge ou un autre navigateur basé sur Chromium les affichera.
Quelle est une vitesse de lecture/écriture normale à observer dans ce test?
Des vitesses de lecture et d'écriture séquentielles de quelques milliers de Mo/s sont courantes sur le matériel moderne, car cela mesure l'accès aux tableaux sur le tas plutôt que directement la bande passante des puces de RAM physique. Les vitesses d'accès aléatoire sont généralement sensiblement inférieures aux vitesses séquentielles en raison des défauts de cache CPU, ce qui est normal et non un défaut.
Pourquoi l'accès aléatoire est-il plus lent que l'accès séquentiel?
Les CPU lisent la mémoire par blocs de taille de ligne de cache et prédisent bien les motifs séquentiels, de sorte que les adresses mémoire consécutives se chargent rapidement depuis le cache. Les adresses dispersées de manière aléatoire contrent cette prédiction et forcent plus d'accès à la mémoire principale plus lente, ce qui est une propriété fondamentale des hiérarchies de mémoire informatique, et non une limitation du navigateur.
La fermeture d'autres onglets de navigateur améliore-t-elle mon score?
Oui, surtout les onglets qui contiennent déjà de grandes quantités de données en mémoire, car ils sont en concurrence pour la même RAM physique et peuvent forcer des pauses de collecte de garbage pendant le test. Fermer les onglets non liés avant d'exécuter le benchmark donne un résultat plus propre et plus reproductible.
Que signifie réellement performance.memory.jsHeapSizeLimit?
C'est la taille maximale du tas que le moteur JavaScript autorisera pour cette page avant de commencer agressivement la collecte de garbage ou de lancer des erreurs de mémoire insuffisante, et non la RAM totale de votre système. Il s'agit généralement de quelques gigaoctets, même sur des machines avec beaucoup plus de RAM physique, car il s'agit d'une limite de sécurité par onglet.
Mon nombre de débit d'allocation semble incohérent entre les exécutions. Pourquoi?
Le timing de la collecte de garbage n'est pas parfaitement prévisible, donc si un cycle de collecte se produit pendant la boucle d'allocation chronométrée, cette exécution affichera un débit inférieur. Exécuter le benchmark deux ou trois fois et regarder le résultat typique plutôt qu'un seul cas isolé donne une image plus fiable.
Ce test peut-il me dire si ma RAM est défectueuse?
Pas de manière fiable. Ce benchmark mesure le débit et les tendances de vitesse, mais la détection d'une RAM défectueuse nécessite des outils de test de motifs binaires exhaustifs comme memtest86 qui s'exécutent en dehors du navigateur et vérifient directement chaque adresse mémoire. Si vous suspectez un défaut matériel, utilisez plutôt un outil de diagnostic mémoire dédié.
Plus de RAM signifie-t-il toujours un meilleur score ici?
Pas directement. Ce test alloue une quantité de mémoire fixe et modeste, bien inférieure à ce que presque tout appareil moderne a de disponible, il mesure donc la vitesse d'accès plutôt que la capacité totale. Un appareil avec moins de RAM totale mais des puces mémoire plus rapides peut obtenir un meilleur score qu'un appareil avec plus de RAM mais des puces plus lentes.