OC中if-else与三目运算符的效率比较
结论写在最前面:
执行效率差别极小,甚至小于1/100000000s(亿分之一秒)。
核心代码:
NSString *time1 = [NSString mk_currentTimeStampInMiliseconds];
for (int i = 0;
i < 100000000;
i++) {
cell.view.playButton.hidden = [self.imgSource[indexPath.row] valueForKey:@"videoPath"].length > 1 ? NO : YES;
}
NSString *time2 = [NSString mk_currentTimeStampInMiliseconds];
for (int i = 0;
i < 100000000;
i++) {
if ([self.imgSource[indexPath.row] valueForKey:@"videoPath"].length > 1) {
cell.view.playButton.hidden = NO;
} else {
cell.view.playButton.hidden = YES;
}
}
NSString *time3 = [NSString mk_currentTimeStampInMiliseconds];
NSLog(@"\ntime1 = %@\ntime2 = %@\ntime3 = %@\n", time1, time2, time3);
打印结果:
文章图片
执行一亿次的时间 【OC中if-else与三目运算符的效率比较】可以看到,同样循环执行一亿次的总时间,if-else仅比三目运算符快1s,更何况其中还有亿次级的取值、赋值操作。
推荐阅读
- 热闹中的孤独
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- Docker应用:容器间通信与Mariadb数据库主从复制
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量
- 第326天
- Shell-Bash变量与运算符
- JS中的各种宽高度定义及其应用
- 2021-02-17|2021-02-17 小儿按摩膻中穴-舒缓咳嗽
- 深入理解Go之generate
- 异地恋中,逐渐适应一个人到底意味着什么()