title: numpy Loadtxt function seems to be consuming too much memory
body: <p>When I load an array using numpy.loadtxt, it seems to take too much memory.  E.g.</p>
  
  <pre><code>a = numpy.zeros(int(1e6))
  </code></pre>
  
  <p>causes an increase of about 8MB in memory (using htop, or just 8bytes*1million \approx 8MB).  On the other hand, if I save and then load this array</p>
  
  <pre><code>numpy.savetxt('a.csv', a)
  b = numpy.loadtxt('a.csv')
  </code></pre>
  
  <p>my memory usage increases by about 100MB!  Again I observed this with htop.  This was observed while in the iPython shell, and also while stepping through code using Pdb++.</p>
  
  <p>Any idea what's going on here?</p>
  
  <p>After reading jozzas's answer, I realized that if I know ahead of time the array size, there is a much more memory efficient way to do things if say 'a' was an mxn array:</p>
  
  <pre><code>b = numpy.zeros((m,n))
  with open('a.csv', 'r') as f:
      reader = csv.reader(f)
      for i, row in enumerate(reader):
          b[i,:] = numpy.array(row)
  </code></pre>