黑马程序员——Objective-C中3种枚举方法耗时比较——黑马 ios 技术博客
来源:互联网 发布:人工智能计算器v3.6.0 编辑:程序博客网 时间:2024/05/18 01:48
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
Objective-C中3种枚举方法耗时比较
集合类对象(NSArray、NSDictionary、NSSet及其子类)在Objective-C中十分常见。经常会有遍历集合中所有对象的需求,Objective-C中遍历集合中对象的方法有三种:
- C语言的for循环遍历;
- Objective-C的快速枚举;
- 集合对象的枚举块语法。
为了测试以上三种枚举方法消耗的时间,我写了一个小程序,对含有1万个元素的数组进行打印操作,看看分别都消耗了多长时间。核心代码如下:
Large Enumeration Test其中CACurrentMediaTime()是一个返回系统时间的函数(苹果参考文档),可以通过结束时间减去开始时间计算代码所消耗的时间。(附:在Mac终端中输入w可以查询机器已经运行的时间信息,w属于Unix命令。)
部分运行结果:
Consume Time Results从以上结果可以看出,语法块的枚举耗时最短,快速枚举次之,for循环最慢。语法块枚举快的主要原因是枚举options中采用了NSEnumerationConcurrent,也就是并行处理,充分发挥了多核心的优势。当然这么做会导致输出顺序错乱,如果需求对顺序要求严格,就不能使用这个选项。
0 0
- 黑马程序员——Objective-C中3种枚举方法耗时比较——黑马 ios 技术博客
- 黑马程序员——objective-c数组的四种遍历方法总结——黑马 ios 技术博客
- 黑马程序员——Objective C中数组排序几种情况的总结——黑马 ios 技术博客
- 黑马程序员——Objective-C IOS开发模板——黑马 ios 技术博客
- 黑马程序员——为什么 Objective-C 很难——黑马 ios 技术博客
- 黑马程序员——Objective-C语言简介——黑马 ios 技术博客
- 黑马程序员——Objective-C中的Category(类别)——黑马 IOS 技术博客
- 黑马程序员——Objective-C语法快速参考——黑马 IOS 技术博客
- 黑马程序员——Objective-C 内存管理详解——黑马 IOS 技术博客
- 黑马程序员——Objective-C内存管理机制——黑马 IOS 技术博客
- 黑马程序员——黑马IOS面试学习三:Objective-C 中一些关键字和概念的总汇——黑马 ios 技术博客
- 黑马程序员——IOS学习之二:Objective-C基础语法和关键字——黑马 ios 技术博客
- 黑马程序员——Objective-c学习笔记——类(面向对象)——黑马 ios 技术博客
- 黑马程序员——Objective-C分类 (category)和扩展(Extension)——黑马 ios 技术博客
- 黑马程序员——外企Objective-C面试题(英语版)——黑马 ios 技术博客
- 黑马程序员——Objective-C的内存管理MRC与ARC——黑马 IOS 技术博客
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之03-类、对象和方法——黑马 IOS 技术博客
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之02-Objective-C 编程环境概述——黑马 IOS 技术博客
- Lambda表达式详解
- 奥斯卡电影
- win7 屏幕显示
- 第八周-专利撰写技巧学习
- SPM空间金字塔匹配模型
- 黑马程序员——Objective-C中3种枚举方法耗时比较——黑马 ios 技术博客
- spring4.1+springmvc4.1+mybatis3.2.8+spring-security3.2.5集成环境搭建
- CodeForces 468B Two Sets 二分匹配
- 九度 题目1456:胜利大逃亡
- Android蓝牙串口程序开发
- glib交叉编译说明
- matlab 常用的函数理解
- rest api best practise
- grub rescue 模式