Hi David,<br><br><div class="gmail_quote">On Mon, Apr 18, 2011 at 11:49 AM, David Crisp <span dir="ltr">&lt;<a href="mailto:david.crisp@gmail.com">david.crisp@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<meta charset="utf-8"><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; ">Im trying to find a Python 2.7 memory profiler (for windows +64bit<br>python) all I can find are the 2.6 versions.</span><br>

<br>
How do I find out how much physical memory an array is using in memory<br>
other than doing the calculation of &quot;well this is two bytes and I have<br>
1000 of them that means 2000 bytes&quot; ......<br></blockquote><div> </div><div><meta charset="utf-8"><div>I don&#39;t know the answer to your first question, but if, by &quot;array&quot;, you mean a NumPy array, you can use the nbytes property:</div>
</div><div><br></div><div>&gt;&gt;&gt; a = numpy.arange(10**6).reshape(10**4, 10**2)</div><div>&gt;&gt;&gt; a.nbytes</div><div>4000000</div><div><br></div><div>The answer is as you said (a.itemsize * a.size). The actual number of bytes will be a small fixed number of bytes more than the contents (because of the overhead of the ndarray pointers to dtype etc.), but this is usually negligible.</div>
<div><br></div><div>Cheers,</div><div><br></div><div><br></div></div>-- <br><span style="color:rgb(102, 102, 102)">Dr. Edward Schofield</span><br style="color:rgb(102, 102, 102)"><span style="color:rgb(102, 102, 102)">Python Charmers</span><br style="color:rgb(102, 102, 102)">
<span style="color:rgb(102, 102, 102)">+61 (0)405 676 229</span><br style="color:rgb(102, 102, 102)"><span style="color:rgb(102, 102, 102)"><a href="http://pythoncharmers.com" target="_blank">http://pythoncharmers.com</a></span><br>
<br>