美文网首页iOS MarkiOS小超人ITBOX
OC各种遍历方法的效率比较

OC各种遍历方法的效率比较

作者: 大亮Coder | 来源:发表于2015-09-24 19:31 被阅读2059次

据蛤所知,OC通常有四种遍历方法,通常我们都是想到用啥就用啥,那么他们各自的效率到底是如何呢?下面让我们来测试一下。


首先,搞一个数组,丢1千万个垃圾对象进去,用它来测试遍历

本次测试都使用一个tmpArray来进行填充作业


一、普通for循环

耗时大约2.53

二、for-in

耗时大约1.93

三、代码块

耗时大约2.66

四、枚举器

耗时大约2.30

以上四种遍历方法都测试了好几遍   除了代码块,偏差都不大

代码块在 2.6~3.0 之前徘徊

用的是iphone5 ios8.4的模拟器


综上所述

for-in完胜

其次,为了方便推荐普通的for循环

block看着挺吊。。看来还是少用为妙

枚举器纯粹看个人喜好吧

相关文章

  • OC各种遍历方法的效率比较

    据蛤所知,OC通常有四种遍历方法,通常我们都是想到用啥就用啥,那么他们各自的效率到底是如何呢?下面让我们来测试一下...

  • OC的各种遍历方法

    https://github.com/darkhous/OCTraversal.git

  • OC优雅的数组过滤-项目常用

    OC优雅的数组过滤-项目常用,和循环遍历判断say no。但是其大数据遍历效率比循环遍历效率低。 更多谓词使用:i...

  • OC中的各种遍历

    OC中的各种遍历 iOS开发中我们经常遇到各种的数据处理,所以就会经常遇到数组遍历 和 字典遍历。但是不同的遍历方...

  • 关于oc中遍历的效率算法研究

    关于oc中遍历的效率算法研究 在oc中,编写程序最常用的的算法莫过于对算法的遍历,下面我们来探索一下最常用的几种算...

  • JS 数组遍历效率比较

    第一种:普通for循环 最简单的一种,也是使用频率最高的一种,虽然性能不弱,但仍有优化空间 第二种:优化版for循...

  • 数组遍历只有for循环吗

    当遇到大数据量需要遍历的时候,不得不考虑遍历的效率问题。研究了一下数组遍历方法和效率。总的来说,循环遍历有这么几种...

  • js遍历方法比较

    一。最原始的for循环 二。forEach 上面写法较为麻烦,所以数组提供了forEach方法。 该方法存在一个问...

  • day1

    oc对象读取属性值的几种方法 遍历类所有属性名称 遍历集合的几种方式 协议(Protocol)类似于java的in...

  • 数组的遍历一:遍历次数的对比

    数组遍历 前言 数组的遍历方法有很多, 哪一种比较好呢?不同的遍历方法之间性能有差异吗?哪些方法可以提前退出遍历呢...

网友评论

  • f123d21a3107:其实for循环效率更高,for in 远不及它
    AppleIdGX:@N 怎么测出来的?
  • 765b6487da17:在数量级小的情况下,forin的遍历效率远不及for循环
  • 清雪飘香:刚刚稍微测了一下, 把放在cell 里面的赋值和设置frame 方法同样防到block 和for in 里面。其实感觉差不多,两者相差为0.02ms
    大亮Coder:@清雪飘香 数量级小的情况下是差不多的啦,我就是想知道它们谁快😁😁
  • 清雪飘香:那我每次还故意用block 去遍历 :sweat:

本文标题:OC各种遍历方法的效率比较

本文链接:https://www.haomeiwen.com/subject/zkzicttx.html