3 ms·
But are the performance gains a result of a completely new CPU architecture (ARMv8-A, that happens to be 64 bit), or the result of addressing memory using 64 bi
by runeks 12y ago
But are the performance gains a result of a completely new CPU architecture (ARMv8-A, that happens to be 64 bit), or the result of addressing memory using 64 bits?
In reality, I think your statement should be "Both iOS and Android are reporting significant performance gains from ARMv8 [...]", not necessarily from going "64 bit".
- wmf 12y agoThat's a good point, but since the new ISA is only available in 64-bit mode there's no practical way to attribute the performance gains. AFAIK ObjC is using some 64-bit pointer tricks that probably aren't possible in 32-bit but I don't know how much of the performance gain comes from those tricks.
- runeks 12y ago> That's a good point, but since the new ISA is only available in 64-bit mode there's no practical way to attribute the performance gains. I would say there is: create a compiler for the ISA that only uses as many 64-bit registers as a 32-bit CPU has, and only use the additional 64-bit registers to perform 32-bit calculations. As far as theory goes, as you say, one of the reasons 64-bit is faster is because it can operate on 64-bits more efficiently than a 32-bit processor (because it has more registers that are 64 bits wide). So if we can split up, for example, a 256 bit bignum operation into two instructions instead of four, that should -- more or less -- half the execution time. But yeah, I have no idea to what extent this effect influences how fast various operations are done. Another factor, that I think is often overlooked, is the width of the DRAM-to-CPU interface. Memory still is the bottleneck of most systems. A 64-bit CPU should also be slower at some things, among other things because describing a memory address requires transferring twice as much data to the CPU. But again, I really have no idea how much of an impact this really has.