title: NumPy ndarray.all() vs np.all(ndarray) vs all(ndarray)
body: <p>What is the the difference between the three "all" methods in Python/NumPy? What is the reason for the performance difference? Is it true that ndarray.all() is always the fastest of the three?</p>
  
  <p>Here is a timing test that I ran:</p>
  
  <pre><code>In [59]: a = np.full(100000, True, dtype=bool)
  
  In [60]: timeit a.all()
  The slowest run took 5.40 times longer than the fastest. This could mean that an intermediate result is being cached.
  100000 loops, best of 3: 5.24 µs per loop
  
  In [61]: timeit all(a)
  1000 loops, best of 3: 1.34 ms per loop
  
  In [62]: timeit np.all(a)
  The slowest run took 5.54 times longer than the fastest. This could mean that an intermediate result is being cached.
  100000 loops, best of 3: 6.41 µs per loop
  </code></pre>