Thanks for the other possibilites. I would consider option (2) and (3) to improve my code.
But out of curiosity, I would still like to know why does an object of a Python-class consume "so" much of memory (1.4 kb), and this memory usage has nothing to do with its attributes. Thanks Regards. On Mon, Jul 6, 2009 at 12:03 PM, Chris Rebert <c...@rebertia.com> wrote: > On Mon, Jul 6, 2009 at 2:55 AM, mayank gupta<mooni...@gmail.com> wrote: > > Hi, > > > > I am creating a tree data-structure in python; with nodes of the tree > > created by a simple class : > > > > class Node : > > def __init__(self , .... other attributes): > > # initialise the attributes here!! > > > > But the problem is I am working with a huge tree (millions of nodes); and > > each node is consuming much more memory than it should. After a little > > analysis, I found out that in general it uses about 1.4 kb of memory for > > each node!! > > I will be grateful if someone could help me optimize the memory usage. > > (1) Use __slots__ (see > http://docs.python.org/reference/datamodel.html#slots) > (2) Use some data structure other than a tree > (3) Rewrite your Node/Tree implementation in C > > Cheers, > Chris > -- > http://blog.rebertia.com > -- I luv to walk in rain bcoz no one can see me crying
-- http://mail.python.org/mailman/listinfo/python-list