Hi Christoph, Christoph Biedl wrote:
Now the surprise: Using the 32 bit userland, CPU bound operations like gzip or xz are significantly faster (5 to 10 percent). Comparing to x86 where i386 is 10 to 15 percent slower than amd64. Also running debootstrap showed a similar pattern. All tests were repeated a few times to rule out any caching or similar effects. This is not quite satisfying. Anyone an explanation for this?
what do you expect actually? why do you think there should be an improvement in performance? Your memory addresses are bigger, so more data to shuffle around, also in instructions which have memory parameters. You usually enable bigger math, again you shuffle more data around. More data means more cache trashing, more registers fill up.
I think this is not only valid for PPC, but was experienced first on MIPS and then on SPARC when these platform went 64bit many years ago and for that reason always had a 32-bit environment available. PPC was designed for 64bit from the beginning, even if 32bit was public first.
Why is it on x86 different? It is not just i386-64, but it is actually amd64: AMD enhanced the architecture, including the registers, it is a new revision of the CPU. A hypothetical amd32 would be faster.
Riccardo