EasyReact 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
EasyReact 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
EasyReact 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 Apache 2.0
开发语言 Objective-C
操作系统 iOS
软件类型 开源软件
开源组织
地区 国产
投 递 者 王练
适用人群 未知
收录时间 2018-07-23

软件简介

EasyReact 是一款基于响应式编程范式的客户端开发框架,开发者可以使用此框架轻松地解决客户端的异步问题。EasyReact 已在美团和大众点评客户端的部分业务中进行了实践,并且持续迭代了一年多的时间。

EasyReact 目前开源的是 iOS Objective-C 语言部分,系统需求:

  • iOS 8.0 +

  • Xcode 8.0 +

特性

注:以下列出的“节点”均指 EZRNode ,即 EasyReact 中对各种值(所有对象类型)的一种统一表示。

对比其他函数响应式库

EasyReact、ReactiveCocoa、RxSwift 常见API 基于耗时的 Benchmarking

测试环境

编译平台: macOS High Sierra 10.13.5

IDE: Xcode 9.4.1

真机设备: iPhone X 256G iOS 11.4(15F79)

测试对象

  1. listener, map, filter, flattenMap 等单阶操作

  2. combine, zip, merge 等多点聚合操作

  3. syncWith 操作

其中测试的规模基于操作对象个数10,触发次数1000。如 Listener 方法有10个监听者,重复触发发送值的行为1000次。 时间单位为ns。

测试数据

重复上面的实验10次,得到数据平均值如下:

结果总结

基于 Objective-C 语言实现的 EasyReact 和 ReactiveCocoa :

ReactiveCocoa 平均耗时是 EasyReact 的 725.41%

EasyReact 的 swift 版本即将开源,届时会和 RxSwift 进行 benchmark 的比较。 

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击引领话题📣
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
0 评论
20 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部
返回顶部
顶部