2012-02-08 11 views
29

Actualmente estoy trabajando en una aplicación web y me he inspirado en un par de aplicaciones diferentes (principalmente Cloud9IDE) sobre cómo contienen una gran mayoría de su interfaz en objetos JavaScript. Esto hace que sea increíblemente fácil agregar funciones en el futuro y también permite opciones de extensibilidad en el futuro.¿Cuánta memoria tiene antes de ser grosera?

La pregunta es, ¿en qué punto el almacenamiento de datos en la memoria (mediante javascript) se vuelve grosero? Estoy construyendo una red social (piense como Twitter), y esencialmente estaría almacenando un objeto para cada "tweet", así como algunos objetos más amplios para los elementos de la interfaz.

¿Hay límites forzados por los navegadores a la cantidad de memoria que puedo usar? ¿Mi sitio web se bloqueará si voy a ir? ¿O se bloqueará todo el navegador? ¿Disminuirá la velocidad del usuario? Si es así, ¿existe una regla general para la cantidad de memoria que molestará al usuario promedio?

+0

Esta pregunta me parece demasiado localizada. No se me ocurre ninguna manera de responder a esto sin recurrir a los números del estadio que quedarán obsoletos dentro de uno o dos años. –

+0

Los números no serán obsoletos dentro de uno o dos años. En todo caso, cada vez se venden más dispositivos ARM con menos memoria (tabletas Think), y espero que, en el mejor de los casos, las tabletas 2014 tengan la capacidad de memoria de los escritorios de hoy en día. –

+0

"tweets" no son exactamente grandes cerdos de memoria a 140 bytes + tal vez algún objeto por encima. Si está escribiendo un editor de video en JavaScript, entonces puede que necesite preocuparse por el uso de la memoria. –

Respuesta

16

Absolutamente positivo no utilice en ningún lugar cerca de 4 GB de memoria. La mayoría de las personas usan navegadores de 32 bits, por lo que el navegador no puede admitir 4 GB de todos modos :)

En una nota más práctica, recuerde que cuanta más memoria tome, más lenta será la velocidad de la aplicación. Los procesadores Intel/AMD (no sé sobre ARM) de hoy tienen acceso a los registros aproximadamente 100 veces más rápido que el acceso a la memoria que no está en la memoria caché, por lo que si usa mucha memoria provocará thrashing, lo que ralentizará su aplicación .

Por lo tanto, suponiendo que desea usuarios para su red social, debe intentar diseñar su sitio web para que funcione bien en tantas máquinas como sea posible. Millones y millones de personas todavía usan máquinas con Windows XP que tienen más de 5 años. Estas máquinas pueden tener tan solo 512 MB de RAM, por lo que si está utilizando unos pocos cientos de megabytes, puede destruir toda la memoria en lugar de solo la memoria caché del procesador, ya que el kernel sigue intercambiando las páginas que desea usar. Así que, como regla general, recomendaría permanecer por debajo de 150-200 MB de memoria. GMail ocupa ~ 100MB de memoria en Chrome para Linux, por lo que creo que mantenerse al día con GMail es un objetivo razonable.

Otra ventaja de mantener el uso de memoria relativamente bajo es que los usuarios pueden ver su sitio más fácilmente en un teléfono inteligente. Un iPhone 3GS (todavía hay muchos de ellos en uso) tiene solo 256 MB de RAM, por lo que permanecer por debajo de 200 MB en su sitio web facilita que un usuario de teléfono inteligente cargue su sitio sin tener que matar procesos indiscriminadamente.

+0

Creo que el uso de su respuesta de "512 MB de RAM", "Windows XP", "256 MB de RAM" (para un iphone de 3gs) es una prueba de que estoy demasiado localizado. –

+9

@KirkWoll Cuando empiezas a preocuparte por el uso de la memoria, has dejado la computadora ideal con espacio y tiempo infinitos, y te preocupan los sistemas reales. Si está diseñando para computadoras reales, es mejor tener algunas computadoras reales en mente. –

+0

¿Cómo está exactamente viendo la cantidad de memoria que está usando una sola página web? No puedo encontrar nada en las herramientas de desarrollo de Chrome, que sería mi mejor suposición. – jwegner

Cuestiones relacionadas