ForLoop
For - in
enumerateObjectsUsingBlock
enumerateObjectsWithOptions
enumerateKeysAndObjectsUsingBlock
进行速度比较后:
当只是遍历一个数组的时候使用For-in会比较快速, 推荐使用For-in遍历数组;
通过Value查询index的时候, 面对大量的数组推荐使用 enumerateObjectsWithOptions的并行方法;
当我们想遍历字典类型的时候, 推荐使用enumerateKeysAndObjectsUsingBlock。
另enumerateObjectsWithOptions(NSEnumerationConcurrent)和dispatch_apply(Concurrent)的遍历执行可以利用到多核cpu的优势(实验中在双核cpu上效率基本上x2);
遍历执行block会分配在多核cpu上执行(底层很可能就是gcd的并发queue),对于耗时的任务来说是很值得这么做的,而且在以后cpu升级成更多核心后不用改代码也可以享受带来的好处。