Is it worth adding the armv7s slice on iOS6?
Asked Answered
K

4

16

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.

Khalif answered 12/11, 2012 at 9:3 Comment(3)
wanderingcoder.net/2010/07/19/ought-armFarreaching
@JackyBoy good overview of armv6 and armv7, and some great reasons to support armv7 on this linked page wanderingcoder.net/2011/09/25/compiling-armv7. But no discussion of armv7 vs armv7s.Khalif
I like that you've thought about this.Delila
S
8

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

Semblance answered 16/11, 2012 at 21:56 Comment(2)
Thanks for your info. A followup question: does the presence or not of an armv7s slice alter how the library code executes (e.g. table view scrolling), since that code resides in the OS? i.e. would we still get the benefits of VFPv4 for Apple's UIKit layout calculations, even if we're not including armv7s ourselves?Khalif
you're welcome, you would need to compile that slice to include the instructions to benefit from VFPv4.Semblance
L
3

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.

Llovera answered 23/11, 2012 at 13:14 Comment(1)
Our app code doesn't do many mathematical calculations itself, though it's UIKit and there are scrolling views and animations everywhere. Are you saying that we still get the VFP4 benefits in that UIKit code, even without including the armv7s slice for our app?Khalif
E
1

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.

Empathy answered 19/11, 2012 at 21:47 Comment(0)
S
1

The easiest thing you can do to understand performance difference is install your application in iPhone 5 using and not using 'armv7s' support. From my experience I can see performance difference in each model of iPhone. My advice is to add armv7s support for your application and test under 'extreme' cases and if you can see any performance difference just forget about ipa size and other things.

Sampson answered 22/11, 2012 at 9:44 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.