¿Por qué Quora usa tanta RAM?

Solía ​​ser que nuestro uso de JavaScript tenía varias fuentes de pérdidas de memoria. Desde entonces, hemos abordado> 80% de esas filtraciones. Aún no hemos terminado y esperamos eliminar el resto de las filtraciones, pero ahora debería poder detectar una mejora notable.

Para aquellos que tienen curiosidad, utilizamos una combinación de inspección de código, instrumentación manual y el generador de perfiles de montón de Google Chrome para encontrar los problemas en nuestro código. Aquí hay una muestra de los problemas encontrados:

  • Teníamos un montón de lugares donde estábamos dejando datos innecesarios en el montón, por lo que limpiarlos ayudó a reducir el uso de memoria.
  • Estábamos usando llamadas nativas del navegador para eliminar objetos del DOM en lugares donde usar jQuery sería más apropiado, porque jQuery también limpiaría cualquier dato que haya almacenado en caché con el objeto. No parece que esto sea necesario si no usa jQuery para almacenar datos arbitrarios con objetos, pero resulta que jQuery usa esta abstracción de almacenamiento de datos para almacenar cosas como controladores de eventos que se vinculan a objetos en el DOM .
  • También teníamos algunas referencias a objetos DOM dando vueltas, evitando que los árboles DOM separados se recolectaran correctamente. Con algunas modificaciones, pudimos arreglar esas referencias colgantes o al menos mantener el tamaño del árbol DOM separado al mínimo hasta que tengamos la oportunidad de hacerlo.
  • Del mismo modo, teníamos algunos objetos de JavaScript que pensábamos que estaban bien y que recolectaban basura de forma natural. Pero, de hecho, no fueron recogidos por el recolector de basura, presumiblemente debido a una referencia colgante en alguna parte. El tamaño resultante de los objetos dominados y retenidos resultó ser bastante grande. En esos casos, romper cadenas de referencias explícitamente, aunque no abordaba la causa raíz, ayudó a abordar algunos de los síntomas de la fuga al mantener pequeño el tamaño retenido.

No puedo hablar por Quora, pero una inspección rápida muestra que Quora está utilizando JSON-P intermitente para obtener actualizaciones. Esos datos JS adicionales continuarán acumulando con el tiempo a menos que Quora tenga cuidado de no contener referencias.

¿Cuánto tiempo estuvo abierta esta pestaña?

todo el navegador consume RAM de su sistema informático … No puede dejar de navegar tantas pestañas, si está trabajando y tampoco puede dejar de usar muchas extensiones necesarias … No lo creo, es particularmente para un sitio como “Quora” , ///

Aquí, quiero compartir un simple truco o forma de usar que puede liberar instantáneamente hasta el 90% de la RAM utilizada por su navegador usando s imple Extension: OneTab o Great Suspender.

Puede consultar aquí: Cómo solucionar un problema de fuga de memoria de Chrome o un alto uso de RAM

Definitivamente resolverá tu problema. ¡¡Vota mi respuesta, si te gusta !! Gracias 🙂