In which workloads do x86 processors perform way better than ARM

1.83K views

With the current launch of the M1 chip of apple and the good benchmarks we see, I was wondering which tasks work better on x86 processors. I understand that ARM has a simpler instruction set, but in which workload is this relevant (especially workloads of a “normal” user)?

Thanks in advance.

In: Technology

4 Answers

Anonymous 0 Comments

general purpose workloads. you pick 100 apps and run them on x86 vs arm. arm won’t be able to run 50 of them. it’ll run 25 of them worse than x64, and 25 of them faster than x86. something like that. but, the answer is basically if the app was optimized for arm or x86. they can both do the same thing.

ARM is making great gains over the years, which is good. and what allows ARM to do that is being able to completely redesign their architecture/instruction set whenever they want. this is the reason why some phones/tablets/etc don’t support newer versions of some OS’s and why some apps require a certain OS or later to run. Every generation, ARM can get rid of the deadweight and optimize based on what the “modern” workloads are.

This also puts pressure on developers, because if they don’t continually update their apps, sooner or later, that app will no longer be supported on the newer hardware/OS, and users will have to continuously buy new hardware if they want to run the latest apps. emulators are always an option, but those never work well and apple typically only supports them during transition periods and then drops support entirely.

whereas in contrast, x86 retains every single instruction since the beginning of time. so even your 10 year old apps will work fine. if it doesn’t then it might be windows that’s the problem. but you can just install the original OS to run it.

Anonymous 0 Comments

You’d have to find a workload which requires a very specific instruction which exists fast&natively in one instruction set but has to be elaborately calculated in multiple steps in the other. I can’t think of anything right now. Both instruction sets have 64bit support, both have multiplication and division, both have SIMD, both have encryption (AES etc.) acceleration …

Maybe ARM with its compressed THUMB instruction set is able to produce smaller code, but that doesn’t really matter on normal computers.

If there was an obvious weakness in either instruction set, the manufacturers would have fixed it by now.

Anonymous 0 Comments

Ever since the Pentium Pro, x86 processors have internally broken down the more complex x86 instructions into simpler micro-ops before processing them much like a RISC processor like ARM would. Conversely, modern high-end ARM processors have gotten complex units like branch predictors and reorder buffers like those in x86 chips. Both have added similar features to each other with their 64-bit extensions.

I don’t think it’s possible to make a general distinction on what sorts of workloads “x68 processors” or “ARM processors” are better at because the specific implementation of the instruction set on a chip is going to matter a lot more than the instruction set itself. A specific design can be made better at a type of workload if the designers of that chip want it to be good at that workload regardless of which instruction set it uses.

As of November 2020, the most powerful supercomputer in the world ([Fugaku](https://en.wikipedia.org/wiki/Fugaku_(supercomputer))) runs on custom ARM chips.

Anonymous 0 Comments

Mostly it’s a power usage thing, the M1/ARM uses less power than the x86 per instruction. Server class x86 CPUs and GPUs have way more cores but also use a crazy amount of power.