So I know that armv7s is optimised for the iPhone 5, and adding it will make my code run a little bit faster on that device.
Does anyone know just what the difference is? Are there any benchmarks, etc?
The tradeoff is the app size. My estimated app size goes from 3.3MB to 5MB with the addition of armv7s which is a hefty 50% more to download.
I'm thinking, unless the speed increase is compelling, it may not be worth the download cost, but I can't seem to find much discussion on what the benefits would be.
Its worth adding armv7s support if you want to take advantage of VFPv4 support (which is new with the A6 SoC), for faster floating point calculations. There are more details if you look at the links below, which are still the best sources I have found on it when I did the research originally. I do not know of any benchmarks to point to, however since the benefits may vary from app to app (depending on how processor-bound your app is for floating point calculations) it could be good to run them yourself anyways.
anandtech article
apple dev forums link
related SO article
What kind of application you are building? armv7s adds vfp4 and integer division. So unless your application is floating point heavy (fused multiply-accumulate ~ signal processing) or does lots of variable by variable division (variable by constant division is highly optimizable at compile time) you should be just fine without armv7s support. In case your app works on latest hardware all software provided by framework like layouts will be using these improvements anyway.
My advice is measure it. The improvements from ARMv7s are so specific (hardware integer division, and VFPv4 is pretty much fused multiply-add) that improvements on benchmarks may or may not apply to your code, so I don't think there is much of a substitute for timing your app on an iPhone 5 with and without an ARMv7s slice present.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With