我正在开发一个支持iOS 4.3及更高版本的iOS应用。由于某些框架,我无法将其存档以用于armv7,因此我删除了armv7s支持。会降低应用程序性能吗?
使用armv7s有什么优势?
最佳答案
令人惊讶的是,为两种不同的体系结构生成的机器代码并没有太多差异。总体而言,armv7s代码看起来与armv7代码没有太大区别。但是,有两个特定的差异引起了我的注意。
第一个差异影响整数除法。 armv7s体系结构具有两个新的整数除法指令,而armv7体系结构中没有这些指令。这些整数除法指令是在armv7上实现的功能,该功能至少比armv7s上的等效指令慢一个数量级。整数除法在应用程序中很常见(在Geekbench中有一百多个地方),因此这些新指令应为所有应用程序显着提高性能。
第二个差异影响浮点运算。 Xcode对armv7使用与armv7不同的浮点算术指令。 Xcode用于armv7的指令将多个操作组合为一个指令,这应使其比Xcode用于armv7的多个独立指令更有效。令人惊讶的是,这些组合的浮点指令存在于armv7架构中,但Xcode并未使用它们。目前尚不清楚为什么会这样。对于armv7,这些组合指令只占所有浮点指令的一小部分,因此尽管它们可能会提供一个优势,但很难确定它们将产生多大的影响。
armv7和armv7s代码之间还有其他区别,但是与整数除法和上面概述的浮点算术更改相比,它们是微小的。拥有armv7s可以为应用程序带来多少 yield ?仅检查生成的代码就很难说,但是如果您是一名开发人员,我认为值得花时间和精力来交付应用程序的armv7s构建,尤其是在您的应用程序使用浮点运算的情况下。
我从此链接中获取了信息。请通过此链接获取更多详细信息。谢谢
Difference between armv7 and armv7s
关于iphone - 在有效架构中使用armv7s支持有什么优势?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13815601/