在iOS设备上有"优化"类型吗?

pat*_*ick 2 arm objective-c ios

在这里,我只是编写了一些处理整数值-24/+ 24的代码,并且我让我的方法返回一个int ...我想我自己 - 在这种情况下我真的应该使用短路吗?我知道它可能在那些记忆力为48k的那一天很重要 - 但在今天的现代世界中它真的重要吗?

即使我知道我的数字会非常小,只是"快乐"就可以了吗?

mar*_*rko 5

所有ARM CPU都具有32位整数寄存器和至少32位宽的L1总线,因此使用a short将绝对没有优势[1],并且在某些情况下可能对性能有害.

保留变量作为一个int安全的知识,无论你在哪里运行代码,你都会获得最佳的寄存器宽度.

[1]此规则的例外是当使用NEON单元时 - 在这种情况下,16位操作提供比32位操作更多的并行性.

  • 这打破了我对冲击的基本相同的答案,我要补充的是,如果你想将问题扩展到返回类型之外,那么这是一个规模问题; 如果您有10,000,000条记录要进入内存,那么从每个记录中删除两个字节显然会对iOS的内存受限环境产生重大影响.但99%的时间都不值得担心. (3认同)