Why int32_t faster then int64_t? : <p>Example code:</p>

<pre><code>template&lt;typename T&gt;
inline void Solution() {
    T n = 0;
    T k = 0;
    T s = 1;
    while (k &lt; 500) {
        n += s++;
        k = 2;
        T lim = n;
        for (T i = 2; i &lt; lim; i++) {
            if (n % i == 0) {
                lim = n / i;
                k += 2;
            }
        }
    }

    std::cout &lt;&lt; "index: " &lt;&lt; s &lt;&lt; std::endl;
    std::cout &lt;&lt; "value: " &lt;&lt; n &lt;&lt; std::endl;
}
</code></pre>

<p>There is a difference between calculation time when i use int32_t and int64_t (more then 2x times). So, simple question is: "Why?"</p>

<pre><code>Solution&lt;int32_t&gt; -&gt; 0.35s on x32 build
Solution&lt;int64_t&gt; -&gt; 0.75s on x32 build
</code></pre>
