• 问题总会出现,不过解决问题的方法也会出现!!!

KVC与MJExtension的效率PK

实测结果 小雨 891次浏览 已收录 0个评论

之前一直使用KVC来做字典转模型的处理,今天突然想用一下第三方的字典转模型的工具,于是直接找到了非常著名的MJExtension框架。
Xcode版本:7.3
iOS模拟器:9.3
MJExtension版本:3.0.8
开测 (具体的模型内部转换 条件都一样,数据量比较小)

        NSTimeInterval start = CACurrentMediaTime();
        //        VQStatus *status = [VQStatus statusWithDict:tempDict];//KVC方式
                VQStatus *status = [VQStatus mj_objectWithKeyValues:tempDict];//MJExtension方式
        weakSelf.postsArray = status.posts;
        NSLog(@"用时 = %f",CACurrentMediaTime()-start);

结果(每种方式分别进行相同的数据10次测试):

KVC
用时 = 0.000378
用时 = 0.000437
用时 = 0.000478
用时 = 0.000345
用时 = 0.000373
用时 = 0.000381
用时 = 0.000385
用时 = 0.000346
用时 = 0.000340
用时 = 0.000354

MJExtension
用时 = 0.001607
用时 = 0.002042
用时 = 0.001724
用时 = 0.001963
用时 = 0.001492
用时 = 0.001461
用时 = 0.001907
用时 = 0.001609
用时 = 0.001878
用时 = 0.001892


从NSLog的日志打印结果来看,KVC大体上是MJExtension耗费时间的1/6,所以KVC完胜。
目前总结:
也许是我的测试数据比较小,当面临大量的数据需要解析的时候,还有待测试性能。
不过,实际开发工作中,直接使用框架,可以节省不少程序员敲代码的时间,这个是肯定的。
 


本博客内容既有转载自网络的内容,也有本作者原创内容,仅供学习与交流之用
如有侵权或者错误之处,请及时在下方留言!
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址