刚刚,阿里开源 iOS 协程开发框架 coobjc!( 八 )

coobjc还有很多其他强大的能力 , 本文对于coobjc的实际使用就不过多介绍了 , 感兴趣的朋友可以去官方github仓库自行下载查看 。

性能提升

我们在iPhone7 iOS11.4.1的设备上使用协程和传统多线程方式分别模拟高并发读取数据的场景 , 下面是两种方式得到的压测数据 。

  • 测试机器:iPhone7 iOS11.4.1

  • 数据文件大小:20M

  • 协程最多使用线程数:4

  • 数据测试结果(统计的是所有并发访问结束的总耗时):


从上面的表格我们可以看到使用在并发量很小的场景 , 由于多线程可以完全使用设备的计算核心 , 因此coobjc总耗时要比传统多线程略高 , 但是由于整体耗时都很小 , 因此差异并不明显 , 但是随着并发量的增大 , coobjc的优势开始逐渐体现出来 , 当并发量超过1000以后 , 传统多线程开始出现线程分配异常 , 而导致很多并发任务并没有执行 , 因此在上表中显示的是大于20秒 , 实际是任务已经无法正常执行了 , 但是coobjc仍然可以正常运行 。

推荐阅读