title: Why are memcpy() and memmove() faster than pointer increments?
body: <p>I am copying N bytes from <code>pSrc</code> to <code>pDest</code>. This can be done in a single loop:</p>
  
  <pre><code>for (int i = 0; i &lt; N; i++)
      *pDest++ = *pSrc++
  </code></pre>
  
  <p>Why is this slower than <code>memcpy</code> or <code>memmove</code>? What tricks do they use to speed it up?</p>