On 02 Nov 2013, at 11:11, Pietro Zambelli <peter.z...@gmail.com> wrote:
> La "circular reference" che credo sia alla base del mio problema è dovuta > alla reference tra gli oggetti. Ho creato delle classi che includono altre > classi, la cosa funzionava bene per numeri "piccoli", ma evidentemente quando > vado a creare alcuni milioni di istanze, queste non vengono adeguatamente > pulite dal garbage collector. > > La libreria ("pygrass") fa il wrap utilizzando ctypes di alcune funzioni C di > GRASS [0]. Molti degli oggetti che creo, condividono un puntatore alla stessa > struct, ho il sospetto che questo ne impedisca l'eliminazione da parte del > garbage collector. Nelle prossime settimane cercherò di capire come risolvere > la cosa, in ogni caso penso che la libreria necessiti di una ristrutturazione > più generale... e stavo pensando di utilizzare cython invece di ctypes per > interfacciarmi a basso livello... Ed è per questo che volevo capire qual'è il > problema per cercare di evitare di introdurre gli stessi errori. Ok, ora ho capito. Questo link: http://engineering.hearsaysocial.com/2013/06/16/circular-references-in-python/ dovrebbe darti le spiegazioni e i suggerimenti adatti al tuo problema. > Grazie per il link, lo leggerò di sicuro. Figurati, anche se quello credo sia specifico all’import dei moduli. > Anch'io, quando posso, preferisco HDF5, però mi hai incuriosito su MongoDB > che proverò alla prima occasione! ;-) Bene. La curiosità è sempre un ottimo punto di partenza :-) -- valerio
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python