Hacker News new | ask | show | jobs
by Nelson69 4700 days ago
How good is ARM at running just generic ARM binaries? There are all the custom hardware parts, we can ignore them, but can I build a 32bit ARM binary that will run on a wide range of ARM cores with good/great performance?

Historically, it has been my experience that pretty much all the non-x86 platforms the compiler and hardware specific optimizations tend to have a pretty dramatic impact. Intel just has so much code and existing code streams to factor in to their designs for new hardware. Maybe this has changed. It's a hard road if mismatched or non-hardware optimized binaries are slow and pokey and hardware specific optimized binaries are competitive. Come out with a great 64bit ARM core that can run nearly all ARM binaries with decent performance (clearly, excluding stuff that needs custom hardware..) and ARM could be pretty disruptive.

2 comments

ARM realized that this was a problem when they got into smartphones, and while the lineup was a total and complete mess in 2008, their modern high-end chips actually provide a pretty uniform experience.

The half-watt microcontroller replacements still need custom builds, but the chips used in top-line smartphones can now all run the same compiled OS and apps. They are going to do a 64-bit transition soon, it will be very interesting how that will turn out.

Historically the big thing has been the variety of floating point units — nowadays VFP3 is pretty much a de-facto standard on the high-end ARM chips (it's required from Cortex-A8 onwards in the application profile), and what's done on Android (where you have a huge diversity of hardware, some with FPUs, some without) where performance matters is you ship one hardfloat binary and one softfloat binary.