← Back to context

Comment by Perz1val

2 days ago

Can someone tell me how much more power efficient is ARM actually? Like under load when gaming, not in a phone that sleeps most of the time. I've heard both claims, that it's still a huge difference and that for new AMD Zen it's basically the same.

The instruction set has marginal impact. But many power efficient chips happen to be using the ARM instruction set today.

  • I think that's still highly debatable. Intel and AMD claim the instruction set makes no difference... but of course they would. And if that's really the case where are the power efficient x86 chips?

    Possibly the truth is that everyone is talking past each other. Certainly in the Moore's Law days "marginal impact" would have meant maybe less then 20%, because differences smaller than that pretty much didn't matter. And there's no way the ISA makes 20% difference.

    But today I'd say "marginal impact" is less than 5% which is way more debatable.

    • > And if that's really the case where are the power efficient x86 chips?

      Where are the power inefficient x86 chips? If you normalize for production process and put the chips under synthetic load, ARM and x86 usually end up in a similar ballpark of efficiency. ARM is typically less efficient for wide SIMD/vector workloads, but more efficient at idle.

      AMD and Intel aren't smartphone manufacturers. Their cash cows aren't in manufacturing mobile chipsets, and neither of them have sweetheart deals on ARM IP with Softbank like Apple does. For the markets they address, it's not unlikely that ARM would be both unprofitable and more power-hungry.

      13 replies →

It's workload-dependent. On-paper, ARM is more power-efficient at idle and simple ops, but slows down dramatically when trying to translate/compose SIMD instructions.

  • You seem to have conflated SIMD and emulation in the context of performance. ARM has it's own SIMD instructions and doesn't take a performance hit when executing those. Translating x86 SIMD to ARM has an overhead that causes a performance hit, which is due to emulation.

    • Both incur a performance hit. ARM NEON isn't fully analogous to modern AVX or SSE, so even a 1:1 native port will compile down to more bytecode than x86. This issue is definitely exacerbated when translating, but inherent to any comparison of the two.