2010-02-10 13 views

Respuesta

2

http://en.wikipedia.org/wiki/Page_fault

El aumento de la memoria RAM física en el equipo podría resultar en un menor número de fallos de página, a pesar de los cambios de diseño a su aplicación va a hacer mucho mejor que la adición de memoria RAM. En general, tener una huella de memoria más pequeña y hacer que las cosas a las que se accederá a menudo al mismo tiempo estén en la misma página disminuirá el número de fallas de página. También puede ser útil tratar de hacer todo lo posible con un poco de datos en la memoria, todo a la vez, para que no tenga que acceder a él muchas veces, lo que puede causar fallas en la página (también conocido como agitación).

3

También puede ser útil asegurarse de que la memoria a la que se acceda entre sí está cerca (por ejemplo, si tiene algunos objetos, colóquelos en una matriz) si estos objetos tienen muchos datos que son muy infrecuentes usado, colóquelo en otra clase y haga que la primera clase tenga una referencia a la segunda. De esta forma, usará menos memoria la mayor parte del tiempo.

+0

1:. Si bien este es un patrón que estaba muy consciente del diseño de bases de datos, nunca lo había considerado realmente para OO-design. ¡Me gusta! –

0

Una opción de diseño sería escribir un sistema de memoria caché, creación de memoria diferida (crear a pedido). dicha memoria caché tendría una colección de fragmentos de memoria preasignados a los que se accede por su tamaño. Por ejemplo, una matriz de N listas, cada lista tiene M buffers. Cada lista es responsable de traerle memoria en un cierto rango de tamaño. (por ejemplo, de cada lista que le trae memoria en el rango de 2^i (i = 0..N-1). incluso si desea usar menos que 2^i, simplemente no usa la memoria extra en el búfer . esto sería una compensación de los residuos de memoria pequeña, frente a los fallos de caché de páginas y menos

otra opción es utilizar nedmalloc

buena suerte Lior

Cuestiones relacionadas