title: Speed of copying numpy array
body: <p>I am wondering if there is any downside of using <code>b = np.array(a)</code> rather than <code>b = np.copy(a)</code> to copy a Numpy array <code>a</code> into b. When I <code>%timeit</code>, the former can be upto 100% faster.</p>
  
  <p>In both cases <code>b is a</code> is <code>False</code>, and I can manipulate <code>b</code> leaving <code>a</code> intact, so I suppose this does what is expected from <code>.copy()</code>.</p>
  
  <p>Am I missing anything? What is improper about using <code>np.array</code> to do copy an array?</p>
  
  <p>with python 3.6.5, numpy 1.14.2, while the speed difference closes rapidly for larger sizes:</p>
  
  <pre><code>a = np.arange(1000)
  
  %timeit np.array(a)
  501 ns ± 30.1 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
  
  %timeit np.copy(a)  
  1.1 µs ± 35.7 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
  </code></pre>