title: What does "an intermediate result is being cached" mean?
body: <p>I have a set of <em>n</em> vectors stored in the <em>3 x n</em> matrix <code>z</code>.  I find the outer product using <code>np.einsum</code>. When I timed it using:</p>
  
  <pre><code>%timeit v=np.einsum('i...,j...-&gt;ij...',z,z)
  </code></pre>
  
  <p>I got the result:</p>
  
  <pre><code>The slowest run took 7.23 times longer than the fastest. This could mean that an
  intermediate result is being cached 
  100000 loops, best of 3: 2.9 µs per loop
  </code></pre>
  
  <p>What is happening here and can it be avoided? The best 3 is 2.9us, but the slowest maybe more typical.</p>