objective-c - 使用吗? : to do an assignment produce faster assembly than using if()?

标签 objective-c c performance compilation ternary-operator

我想知道以下两种形式的惰性实例化中哪一种会生成更快的汇编代码。代码如下:

第一:

if (!_separatorTopBorderColor) _separatorTopBorderColor = UIColorFromHex(0x393A3B);
return _separatorTopBorderColor;

第二:

_separatorTopBorderColor = _separatorTopBorderColor ?: UIColorFromHex(0x393A3B);
return _separatorTopBorderColor;

最佳答案

这在 10 年前可能是一个问题,但现在,编译器确实可以看到三元运算符和if-else语句的任何差异。我的建议是,你应该集中精力让你的代码更具可读性、可维护性和高效性。在这种情况下,不要关心资源或内存使用情况。

关于objective-c - 使用吗? : to do an assignment produce faster assembly than using if()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10691120/

相关文章:

java - 听众与表演

ios - 外设管理器如何理解哪个是 CBCentral(设备)试图访问服务/特征

iphone -\n 在 UIlabel 中不工作

iphone - 如何以编程方式检查 iPhone 上安装了哪些国际键盘?

iphone - 何时使用 __bridge_transfer 和 __bridge

c - 将标准输出重定向到文件并使用函数重新建立标准输出

c++ - C/C++ - 为 PUT 请求实现 http 协议(protocol)

performance - 字符串连接的性能比较

IAR C/C++ 编译器与 GCC 的兼容性

performance - Google App Engine 任务队列