Agranda large space (fijate en ObjectMemory class>>sizesAtStartup) para que esos objetos enormes siempre entren ahi. Para mas informacion, bajate VW 7.7.1 y lee doc/technotes/vwmemorymgmt.pdf. Tambien podes usar el package MemoryMonitor en el public store repository para ver lo que anda sucediendo. Acordate que hoy (pero no mañana, eh? :)...) el GC no mueve objetos a large space si se cayeron a old space.
Andres. 2010/10/21 andres <[email protected]>: > Consulta: tengo que diseñar un objeto que va a trabajar con una matriz > de bits. Para la matriz de bits planeo usar un bytearray subyacente, > usando máscaras para setear/leer los bits. Ahora bien, conviene usar un > solo array (potencialmente gigante) o una array de arrays? Mi > preocupación tiene obviamente que ver con el GC y la forma en la que VW > maneja los objetos pesados. > > Un poco de contexto: > - Las matrices pueden ser de diversos tamaños y no sería extraño algo > tipo 1000x1000 (o sea que no sería loco pensar en un byte array de 250K). > - Es posible que se creen y destruyan muchas matrices durante el proceso > de cómputo (y honestamente preferiría no tener que limpiar y cachear a > mano). > > En principio me incliné por un array de arrays, me parece mas fácil a la > hora de manejar chunks de memoria, pero por otro lado los objetos tipo > Image están implementados con un byte array gigante y ahí me surgió la > duda. Alguien hizo algún tipo de benchmarking en el tema de > alocar/desalocar objetos de esos tamaños? > > -- > Saludos y gracias, > Andrés > > -- > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > > http://www.clubSmalltalk.org -- To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] http://www.clubSmalltalk.org
