Memory Benchmark
Mida la asignación de typed-array y el rendimiento de lectura/escritura en su navegador, y vea qué cifras de memoria expone realmente su navegador.
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.
Guía rápida: cómo usar Benchmark de Memoria
Toma menos de un minuto- 1Cierra las pestañas que consumen mucha memoria para que el navegador pueda asignar libremente.
- 2Ejecuta la prueba de rendimiento y deja que cada fase termine.
- 3Verifica la asignación, el rendimiento de lectura y escritura por separado.
- 4El límite de heap informado es un límite del navegador, no tu RAM total.
Resumen
La velocidad de la memoria rara vez recibe la atención que sí obtienen la velocidad del reloj de la CPU o el modelo de la GPU, pero afecta silenciosamente todo lo que hace un ordenador. Cada instrucción que ejecuta un procesador eventualmente necesita leer o escribir datos en algún lugar, y si esos datos tienen que viajar a través de una memoria lenta, incluso una CPU rápida termina esperando. Esta prueba te ofrece una visión basada en el navegador de la rapidez con la que JavaScript puede asignar memoria y mover datos a través de ella, además de cualquier cifra de memoria que tu navegador específico esté dispuesto a exponer.
El benchmark funciona con typed arrays, específicamente buffers Float64Array, que son el equivalente más cercano en JavaScript a los bloques de memoria raw. Mide el tiempo de cuatro operaciones distintas: qué tan rápido se pueden asignar nuevos arrays, qué tan rápido se pueden escribir datos en un array en orden, qué tan rápido se pueden leer esos mismos datos de nuevo en orden, y cómo cambian esas velocidades cuando el patrón de acceso a la memoria es aleatorio en lugar de secuencial.
Junto con los números de rendimiento, esta página lee dos cifras expuestas por el navegador cuando están disponibles: navigator.deviceMemory, una aproximación de la RAM total del sistema, y performance.memory, que informa el tamaño actual y máximo del heap de JavaScript en navegadores basados en Chromium. Ambas tienen limitaciones reales que vale la pena comprender antes de sacar conclusiones de ellas.
Cómo leer sus resultados
Rendimiento de asignación
Esto mide cuántos megabytes por segundo su navegador puede destinar de la memoria para nuevos arrays. Está influenciado por el administrador de memoria y el recolector de basura del motor JavaScript tanto como por el hardware raw, por lo que las diferencias aquí a menudo dicen más sobre el navegador que sobre los propios chips de RAM.
Acceso secuencial vs aleatorio
Los números de lectura y escritura secuencial deberían ser notablemente más altos que los números de lectura y escritura aleatoria, y esa brecha es normal y esperada en cualquier ordenador debido a cómo funcionan las cachés de la CPU. Una brecha muy pequeña entre las velocidades secuencial y aleatoria puede indicar en realidad una caché del procesador muy rápida en relación con el tamaño de la memoria, no un problema.
Cifras de deviceMemory y heap
Trate navigator.deviceMemory como un indicador de nivel aproximado en lugar de una cifra exacta de RAM, ya que Chromium lo limita a 8GB, independientemente de la cantidad de RAM realmente instalada. Los números del heap de JS reflejan lo que está asignado a esta pestaña específica del navegador en este momento, y crecerán a medida que la página y sus herramientas se ejecuten, lo cual es un comportamiento esperado en lugar de una fuga de memoria.
Solución de problemas
Las cifras de deviceMemory o heap muestran 'No expuesto'
Esto es lo esperado en Firefox y Safari, que no implementan estas API en absoluto por razones de privacidad. Cambie a Chrome, Edge, Brave u otro navegador basado en Chromium si necesita específicamente ver estos números.
Los números de rendimiento parecen inusualmente bajos
Cierre otras pestañas que consuman mucha memoria, especialmente las que tengan imágenes grandes, videos o muchas pestañas abiertas del mismo sitio, ya que compiten por el mismo espacio de heap de JavaScript y RAM física. Reiniciar el navegador completamente, en lugar de solo cerrar pestañas, elimina la fragmentación de memoria acumulada que también puede ralentizar las cosas.
La pestaña del navegador falló o dejó de responder durante la prueba
Esto puede ocurrir en dispositivos con muy poca RAM libre, ya que el benchmark necesita unos cientos de megabytes de espacio libre para ejecutar sus typed arrays. Cierre otras aplicaciones y pestañas para liberar memoria, luego intente de nuevo con menos cosas ejecutándose simultáneamente.
Lo que los navegadores ocultan deliberadamente y por qué
La información detallada de la memoria puede usarse para crear una huella digital de un dispositivo, ya que las cantidades exactas de RAM combinadas con otras señales reducen el modelo específico de dispositivo que alguien está utilizando. Debido a esto, ningún navegador expone la RAM exacta en gigabytes, la velocidad exacta de la memoria en MHz o la configuración del canal de memoria. Chrome se compromete redondeando deviceMemory en seis categorías amplias, mientras que Firefox y Safari eliminan completamente la API para no arriesgarse a que se utilice para el seguimiento.
Esto significa que una prueba de memoria basada en el navegador nunca podrá reemplazar completamente herramientas como el Administrador de tareas, el Monitor de actividad o el panel de información del sistema de un fabricante para verificar la RAM exacta instalada. Para lo que sí es útil es para medir el rendimiento práctico y comparar ese rendimiento entre navegadores o después de un cambio de hardware, como añadir un módulo de RAM o actualizar a un kit de memoria más rápido.
Cuando la memoria es realmente su cuello de botella
Si su ordenador se siente lento específicamente cuando tiene muchas pestañas del navegador o aplicaciones abiertas a la vez, y se acelera después de cerrar algunas de ellas, esa es una señal clásica de que la limitación es la capacidad de la memoria, no la velocidad. Si, por el contrario, todo se siente lento incluso con pocas cosas abiertas, y los números de rendimiento de este benchmark son drásticamente más bajos de lo que es típico para hardware similar, eso apunta más a un problema de velocidad o configuración de la memoria, como que la RAM esté funcionando en un modo más lento de lo que está clasificada.
- Verifique la cantidad y velocidad de la RAM instalada en el panel de información del sistema de su sistema operativo, no solo con esta prueba de navegador.
- Compare los números de esta prueba antes y después de cerrar las aplicaciones en segundo plano.
- Combine esta prueba con los benchmarks de CPU y almacenamiento de este sitio para descartar otros cuellos de botella.
Preguntas frecuentes
¿Puede un sitio web realmente medir la velocidad de mi RAM?
Un sitio web puede medir la rapidez con la que JavaScript puede asignar y acceder a typed arrays, lo que se correlaciona con la velocidad real de la memoria, pero también incluye la sobrecarga del motor JavaScript, el recolector de basura y el comportamiento de la caché de la CPU. Es una medida práctica útil, no una prueba de ancho de banda de memoria de grado de laboratorio como la que obtendría de un software de diagnóstico de hardware dedicado.
¿Por qué navigator.deviceMemory muestra un número inferior al de mi RAM real?
Los navegadores basados en Chromium redondean y limitan deliberadamente este valor a uno de un pequeño conjunto de números (0.25, 0.5, 1, 2, 4 u 8 GB) como medida de privacidad, por lo que un sistema con 32 GB de RAM seguirá reportando un máximo de 8. Esto es intencional y no es señal de un problema.
¿Por qué Firefox o Safari no muestran deviceMemory o performance.memory en absoluto?
Ambos navegadores optan por no implementar estas API, en gran parte por la preocupación de que la información detallada de la memoria pueda utilizarse para identificar o rastrear a los usuarios en diferentes sitios. Si necesita esta información, Chrome, Edge u otro navegador basado en Chromium la mostrará.
¿Cuál es una velocidad normal de lectura/escritura en esta prueba?
Las velocidades de lectura y escritura secuenciales en los miles bajos de MB/s son comunes en hardware moderno, ya que esto mide el acceso a matrices en el 'heap' en lugar del ancho de banda directo de los chips de RAM físicos. Las velocidades de acceso aleatorio suelen ser notablemente más bajas que las velocidades secuenciales debido a fallos de caché de CPU, lo cual es esperado y no un error.
¿Por qué el acceso aleatorio es más lento que el acceso secuencial?
Las CPU leen la memoria en bloques del tamaño de una línea de caché y predicen bien los patrones secuenciales, por lo que las direcciones de memoria consecutivas se cargan rápidamente desde la caché. Las direcciones dispersas aleatoriamente anulan esa predicción y fuerzan más viajes a la memoria principal, que es más lenta, lo cual es una propiedad fundamental de las jerarquías de memoria de las computadoras, no una limitación del navegador.
¿Cerrar otras pestañas del navegador mejora mi puntuación?
Sí, especialmente las pestañas que ya contienen grandes cantidades de datos en la memoria, ya que compiten por la misma RAM física y pueden forzar pausas de recolección de basura durante la prueba. Cerrar las pestañas no relacionadas antes de ejecutar el benchmark proporciona un resultado más limpio y repetible.
¿Qué significa realmente performance.memory.jsHeapSizeLimit?
Es el tamaño máximo del 'heap' que el motor de JavaScript permitirá para esta página antes de que comience a recolectar basura agresivamente o a arrojar errores de falta de memoria, no la RAM total de su sistema. Típicamente es de unos pocos gigabytes incluso en máquinas con mucha más RAM física, ya que es un límite de seguridad por pestaña.
Mi número de rendimiento de asignación parece inconsistente entre ejecuciones. ¿Por qué?
El tiempo de recolección de basura no es perfectamente predecible, por lo que si un ciclo de recolección ocurre durante el bucle de asignación cronometrado, esa ejecución mostrará un rendimiento más bajo. Ejecutar el benchmark dos o tres veces y observar el resultado típico en lugar de un único valor atípico proporciona una imagen más fiable.
¿Puede esta prueba decirme si mi RAM está defectuosa?
No de forma fiable. Este benchmark mide el rendimiento y las tendencias de velocidad, pero la detección de RAM defectuosa requiere herramientas exhaustivas de prueba de patrones de bits como memtest86 que se ejecutan fuera del navegador y verifican directamente cada dirección de memoria. Si sospecha de un fallo de hardware, utilice una herramienta de diagnóstico de memoria dedicada en su lugar.
¿Más RAM siempre significa una mejor puntuación aquí?
No directamente. Esta prueba asigna una cantidad fija y modesta de memoria, muy por debajo de lo que casi cualquier dispositivo moderno tiene disponible, por lo que mide la velocidad de acceso en lugar de la capacidad total. Un dispositivo con menos RAM total pero chips de memoria más rápidos puede superar a uno con más RAM pero chips más lentos.