2010-05-27 11 views
5

Estoy usando chrome (la versión dev para mi mac).Retraso de recolección de basura?

Estaba viendo la línea de tiempo para la carga de mi página y vi que hay un retraso de 150 ms debido a que se está produciendo una recolección de basura al cargar la página.

loading times

Es la línea amarilla.

Tenía curiosidad por si había alguna manera de detener esto, retrasarlo, lo que fuera para que la página se cargue más rápido?

+0

1/Ayudaría a la gente a responder si etiquetó su pregunta con el idioma en que se desarrolló Chrome. 2/En general, la recolección de basura ya se activó lo más tarde posible, por lo que solo puede activarla voluntariamente antes, no posponer (a menos que estés dispuesto a hacer crecer el montón). –

+0

Creo que está escrito en C++ – GeoffreyF67

+0

¿El GC siempre se activa cuando carga la página? ¿Qué versión de Chrome es? – Yuji

Respuesta

-3

No cree tanta basura: observe dónde su programa JavaScript asigna memoria durante la carga y vea si puede eliminar la recolección de basura reutilizando estructuras de datos o demorando ese trabajo hasta después de que la página se haya cargado. Esto le permite 'retrasar' la recolección de basura.

+2

-1 esta no es una respuesta útil. en absoluto. –

3

Contra el grano de algunos de los comentarios, este no es un problema de C++.

La recolección de elementos no utilizados ocurre cuando el motor v8 (el motor javascript en cromo) detecta que debería comenzar a liberar memoria utilizada por objetos que ya no son necesarios en el código. Puede visitar la página v8 para obtener más información sobre lo que hace el recolector de basura.

Puede haber muchas razones por las que su código es recolección de basura tempranamente, y en ese caso necesitaríamos ver su código. ¿Tiene muchas variables que están fuera del alcance de la carga de la página?