¿Cómo hacer una correcta gestión de la memoria con ZODB?
Leí varios tutoriales de ZODB, pero aquí hay una cosa que todavía no entiendo: ¿Cómo libera la memoria que ya está serializada (y comprometida) con el (por ejemplo) almacenamiento de archivos?
Más específicamente, quiero que el siguiente código deje de comerme toda mi memoria:
for i in xrange(bignumber):
iobtree[i]=Bigobject() # Bigobject is about 1Mb
if(i%10==0):
transaction.commit() # or savepoint(True)
transaction.commit()
¿Cómo se puede lograr esto? ¿Es posible liberar referencias almacenadas por iobtree y reemplazarlas por 'referencias débiles' que serían accesibles a pedido?