 <p>As a starting point, use <code>int</code> which is probably native to the architecture and you'll avoid possible implicit conversions when comparing <code>i</code> with other bits and pieces. So my bet is that both <code>byte</code> and <code>short</code> will wind up being <em>slower</em>.</p> <p>A far cuter optimisation would be to use <code>++i</code> rather than <code>i++</code>, as the former will never be slower than the latter. (Conceptually <code>i++</code> has to return a copy even though it will be optimised out by a good java compiler).</p>