It's easy to write something that performs well on one system.
[1]: 32-bit or 64-bit -> how many registers are available. SSE2, SSE 4.1, AVX2, etc. Different prefetchers, cache configurations. Different instruction level limitations and performance. Differing amounts of cache with rather variable latencies.
[2]: Different number of memory channels, different distance between DRAM page changes.