Thanks for the other possibilites. I would consider option (2) and (3) to improve my code.<br><br>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.<br>
<br>Thanks<br><br>Regards.<br><br><div class="gmail_quote">On Mon, Jul 6, 2009 at 12:03 PM, Chris Rebert <span dir="ltr"><<a href="mailto:clp2@rebertia.com">clp2@rebertia.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">On Mon, Jul 6, 2009 at 2:55 AM, mayank gupta<<a href="mailto:mooniitk@gmail.com">mooniitk@gmail.com</a>> wrote:<br>
> Hi,<br>
><br>
> I am creating a tree data-structure in python; with nodes of the tree<br>
> created by a simple class :<br>
><br>
> class Node :<br>
>        def __init__(self , .... other attributes):<br>
>               # initialise the attributes here!!<br>
><br>
> But the problem is I am working with a huge tree (millions of nodes); and<br>
> each node is consuming much more memory than it should. After a little<br>
> analysis, I found out that in general it uses about 1.4 kb of memory for<br>
> each node!!<br>
> I will be grateful if someone could help me optimize the memory usage.<br>
<br>
</div>(1) Use __slots__ (see <a href="http://docs.python.org/reference/datamodel.html#slots" target="_blank">http://docs.python.org/reference/datamodel.html#slots</a>)<br>
(2) Use some data structure other than a tree<br>
(3) Rewrite your Node/Tree implementation in C<br>
<br>
Cheers,<br>
Chris<br>
<font color="#888888">--<br>
<a href="http://blog.rebertia.com" target="_blank">http://blog.rebertia.com</a><br>
</font></blockquote></div><br><br clear="all"><br>-- <br>I luv to walk in rain bcoz no one can see me crying<br>