Skip to content
This repository has been archived by the owner on Feb 18, 2019. It is now read-only.

Commit

Permalink
feat: release 2.3.0
Browse files Browse the repository at this point in the history
  • Loading branch information
WilliamZang committed Oct 10, 2018
1 parent a71780d commit ba1ab3a
Show file tree
Hide file tree
Showing 8 changed files with 25 additions and 118 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Expand Up @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.

## [Unreleased]

## 2.3.0 - 2018-10-10

### Added

- EZRPerformSelectorListen edge. [ISSUE 28](https://github.com/meituan/EasyReact/issues/28)
Expand Down
2 changes: 1 addition & 1 deletion EasyReact.podspec
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'EasyReact'
s.version = '2.2.1'
s.version = '2.3.0'
s.summary = 'Make reactive programming easier for you.'

s.description = <<-DESC
Expand Down

This file was deleted.

6 changes: 2 additions & 4 deletions Example/EasyReact.xcodeproj/project.pbxproj
Expand Up @@ -26,6 +26,7 @@
57014F0D2160BEDC0083395A /* Combine.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 57014F082160BEDC0083395A /* Combine.storyboard */; };
57014F0E2160BEDC0083395A /* EZRCombineViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 57014F092160BEDC0083395A /* EZRCombineViewController.m */; };
57014F0F2160C6D10083395A /* EZRMergeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 57014F052160BEDC0083395A /* EZRMergeViewController.m */; };
57DA78F9216DEE3A00E1899A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6003F5A8195388D20070C39A /* Images.xcassets */; };
5A341A1FB3668AF88FC7EDFB /* Pods_EasyReact_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B1D172FCD4CCC447B2169939 /* Pods_EasyReact_Example.framework */; };
6003F58E195388D20070C39A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58D195388D20070C39A /* Foundation.framework */; };
6003F590195388D20070C39A /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58F195388D20070C39A /* CoreGraphics.framework */; };
Expand Down Expand Up @@ -60,7 +61,6 @@
CEB23C3F1F6B7DBE009C29FB /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = CEB23C3E1F6B7DBE009C29FB /* AppDelegate.m */; };
CEB23C421F6B7DBE009C29FB /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CEB23C411F6B7DBE009C29FB /* ViewController.m */; };
CEB23C451F6B7DBE009C29FB /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = CEB23C431F6B7DBE009C29FB /* Main.storyboard */; };
CEB23C471F6B7DBE009C29FB /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = CEB23C461F6B7DBE009C29FB /* Assets.xcassets */; };
CEB23C4A1F6B7DBE009C29FB /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = CEB23C481F6B7DBE009C29FB /* LaunchScreen.storyboard */; };
CEB23C4D1F6B7DBE009C29FB /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = CEB23C4C1F6B7DBE009C29FB /* main.m */; };
CEB23C531F6B7DDF009C29FB /* Benchmark.m in Sources */ = {isa = PBXBuildFile; fileRef = CEB23C521F6B7DDF009C29FB /* Benchmark.m */; };
Expand Down Expand Up @@ -171,7 +171,6 @@
CEB23C401F6B7DBE009C29FB /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
CEB23C411F6B7DBE009C29FB /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; };
CEB23C441F6B7DBE009C29FB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
CEB23C461F6B7DBE009C29FB /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
CEB23C491F6B7DBE009C29FB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
CEB23C4B1F6B7DBE009C29FB /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
CEB23C4C1F6B7DBE009C29FB /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
Expand Down Expand Up @@ -477,7 +476,6 @@
CEB23C4C1F6B7DBE009C29FB /* main.m */,
CE796ABE1F7108D400EB463E /* Benchmark-Bridging-Header.h */,
CEB23C431F6B7DBE009C29FB /* Main.storyboard */,
CEB23C461F6B7DBE009C29FB /* Assets.xcassets */,
CEB23C481F6B7DBE009C29FB /* LaunchScreen.storyboard */,
CEB23C3D1F6B7DBE009C29FB /* AppDelegate.h */,
CEB23C3E1F6B7DBE009C29FB /* AppDelegate.m */,
Expand Down Expand Up @@ -660,8 +658,8 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
57DA78F9216DEE3A00E1899A /* Images.xcassets in Resources */,
CEB23C4A1F6B7DBE009C29FB /* LaunchScreen.storyboard in Resources */,
CEB23C471F6B7DBE009C29FB /* Assets.xcassets in Resources */,
CEB23C451F6B7DBE009C29FB /* Main.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
Expand Down
4 changes: 2 additions & 2 deletions Example/Podfile.lock
Expand Up @@ -2,7 +2,7 @@ PODS:
- EasyFoundation (1.0.0):
- EasySequence (~> 1.3.0)
- EasyTuple (~> 1.1.0)
- EasyReact (2.2.1):
- EasyReact (2.3.0):
- EasyFoundation (~> 1.0.0)
- EasySequence (1.3.1)
- EasyTuple (1.1.2)
Expand Down Expand Up @@ -49,7 +49,7 @@ EXTERNAL SOURCES:

SPEC CHECKSUMS:
EasyFoundation: a4bb86dd4ba01cb720f5320c314c5628ee237acd
EasyReact: 44057b73573a4a28e5a8ca463523a793953900de
EasyReact: 0220014fe7660dce181ad2ee8b589a0fbed46726
EasySequence: 78462a0b839cb6b8a18e30a5adc37055bac0b929
EasyTuple: a6a068ab3aa47e899a0c9f9ee23ddb394542ea9e
Nimble: 04f732da099ea4d153122aec8c2a88fd0c7219ae
Expand Down
18 changes: 9 additions & 9 deletions README-Chinese.md
Expand Up @@ -108,11 +108,11 @@ EasyReact 包含了完善的单元测试,相关代码在 Example/Tests 文件

### 测试环境

编译平台: macOS High Sierra 10.13.5
编译平台: macOS Mojave 10.14

IDE: Xcode 9.4.1
IDE: Xcode 10.0(10A255)

真机设备: iPhone X 256G iOS 11.4(15F79)
真机设备: iPhone XS Max 256G iOS 12.0(16A366)

### 测试对象

Expand All @@ -127,19 +127,19 @@ IDE: Xcode 9.4.1

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

| name | listener | map | filter | flattenMap | combine | zip | merge | syncWith |
| ------------- | -------- | -------- | -------- | ---------- | --------- | --------- | -------- | -------- |
| EasyReact | 1860665 | 30285707 | 7043007 | 7259761 | 6234540 | 63384482 | 19794457 | 12359669 |
| ReactiveCocoa | 4054261 | 74416369 | 45095903 | 44675757 | 209096028 | 143311669 | 13898969 | 53619799 |
| RAC:EasyReact | 217.89% | 245.71% | 640.29% | 615.39% | 3353.83% | 226.10% | 70.22% | 433.83% |
|name|listener|map|filter|flattenMap|combine|zip|merge|syncWith|
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
|EasyReact|4218689|26615802|9872381|9896752|5744164|48405085|29639206|11846827|
|ReactiveCocoa|2263981|42883385|28768289|28810331|127882031|82689281|6809210|30935277|
|RAC:EasyReact|53.7%|161.1%|291.4%|291.1%|2226.3%|170.8%|23.0%|261.1%|

![benchmark](./images/benchmark.png)

### 结果总结

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

ReactiveCocoa 平均耗时是 EasyReact 的 725.41%
ReactiveCocoa 平均耗时是 EasyReact 的 434.8%

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

Expand Down
18 changes: 9 additions & 9 deletions README.md
Expand Up @@ -108,11 +108,11 @@ EasyReact contains a complete unit test with the relevant code in the Example/Te

### Environment

Build Platform: macOS High Sierra 10.13.5
Build Platform: macOS Mojave 10.14

IDE: Xcode 9.4.1
IDE: Xcode 10.0(10A255)

Device: iPhone X 256G iOS 11.4(15F79)
Device: iPhone XS Max 256G iOS 12.0(16A366)

### Cases

Expand All @@ -127,17 +127,17 @@ The unit of time is ns.

Repeat the above experiment 10 times to get the data as follows:

| name | listener | map | filter | flattenMap | combine | zip | merge | syncWith |
| ------------- | -------- | -------- | -------- | ---------- | --------- | --------- | -------- | -------- |
| EasyReact | 1860665 | 30285707 | 7043007 | 7259761 | 6234540 | 63384482 | 19794457 | 12359669 |
| ReactiveCocoa | 4054261 | 74416369 | 45095903 | 44675757 | 209096028 | 143311669 | 13898969 | 53619799 |
| RAC:EasyReact | 217.89% | 245.71% | 640.29% | 615.39% | 3353.83% | 226.10% | 70.22% | 433.83% |
|name|listener|map|filter|flattenMap|combine|zip|merge|syncWith|
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
|EasyReact|4218689|26615802|9872381|9896752|5744164|48405085|29639206|11846827|
|ReactiveCocoa|2263981|42883385|28768289|28810331|127882031|82689281|6809210|30935277|
|RAC:EasyReact|53.7%|161.1%|291.4%|291.1%|2226.3%|170.8%|23.0%|261.1%|

![benchmark](./images/benchmark.png)

### Summary

ReactiveCocoa's average time consuming is 725.41% times more than EasyReact.
ReactiveCocoa's average time consuming is 434.8% times more than EasyReact.

EasyReact will compare benchmark with RxSwift when the Swift version open source recently.

Expand Down
Binary file modified images/benchmark.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit ba1ab3a

Please sign in to comment.