Skip to content

Commit

Permalink
Add FlexibleDiff to the README
Browse files Browse the repository at this point in the history
  • Loading branch information
ra1028 committed Aug 10, 2018
1 parent 45ea6e8 commit 5d675d3
Showing 1 changed file with 20 additions and 10 deletions.
30 changes: 20 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ Implementation is [here](https://github.com/ra1028/DifferenceKit/blob/master/Sou
---

## Documentation
⚠️ Since DifferenceKit is currently released in alpha version, updates may contain breaking changes.
See docs in [GitHub Pages](https://ra1028.github.io/DifferenceKit/).
Documentation is generated by [jazzy](https://github.com/realm/jazzy).

Expand Down Expand Up @@ -146,10 +147,12 @@ collectionView.reload(using: changeset, interrupt: { $0.changeCount > 100 }) { d

## Comparison with Other Frameworks
Made a fair comparison as much as possible in features and performance with other **popular** and **awesome** frameworks.
⚠️ This does `NOT` determine superiority or inferiority of the frameworks. I know that each framework has different benefits.
The frameworks and its version that compared is below.

- [DifferenceKit](https://github.com/ra1028/DifferenceKit) - 0.2.0
- [DifferenceKit](https://github.com/ra1028/DifferenceKit) - 0.3.0
- [RxDataSources](https://github.com/RxSwiftCommunity/RxDataSources) ([Differentiator](https://github.com/RxSwiftCommunity/RxDataSources/tree/master/Sources/Differentiator)) - 3.0.2
- [FlexibleDiff](https://github.com/RACCommunity/FlexibleDiff) - 0.0.5
- [IGListKit](https://github.com/Instagram/IGListKit) - 3.4.0
- [ListDiff](https://github.com/lxcid/ListDiff) - 0.1.0
- [DeepDiff](https://github.com/onmyway133/DeepDiff) - 1.2.0
Expand All @@ -162,6 +165,7 @@ The frameworks and its version that compared is below.
|:------------|:----:|:-------:|:-----------------------:|
|DifferenceKit||||
|RxDataSources||||
|FlexibleDiff ||||
|IGListKit ||||
|ListDiff ||||
|DeepDiff ||||
Expand All @@ -172,21 +176,23 @@ The frameworks and its version that compared is below.
`Sectioned` means 2-dimensional collection.

#### - Supported element differences
| |Delete|Insert|Move|Reload |
|:------------|:----:|:----:|:--:|:------:|
|DifferenceKit|||||
|RxDataSources|||||
|IGListKit |||||
|ListDiff |||||
|DeepDiff ||||✅ / ❌ |
|Differ |||||
|Dwifft |||||
| |Delete|Insert|Move|Reload |Move across sections|
|:------------|:----:|:----:|:--:|:------:|:------------------:|
|DifferenceKit||||||
|RxDataSources||||||
|FlexibleDiff ||||||
|IGListKit ||||||
|ListDiff ||||||
|DeepDiff ||||✅ / ❌ ||
|Differ ||||||
|Dwifft ||||||

#### - Supported section differences
| |Delete|Insert|Move|Reload|
|:------------|:----:|:----:|:--:|:----:|
|DifferenceKit|||||
|RxDataSources|||||
|FlexibleDiff |||||
|IGListKit |||||
|ListDiff |||||
|DeepDiff |||||
Expand All @@ -197,13 +203,15 @@ The frameworks and its version that compared is below.
Performance was measured using `XCTestCase.measure` on iPhoneX simulator with `-O -whole-module-optimization`.
Use `Foundation.UUID` as an element.

⚠️ If Move is included in the difference, performance may obviously decrease in some frameworks.
⚠️ *DeepDiff may had increased the processing speed by misuse of Hashable in algorithm.*

#### - From 5,000 elements to 500 deleted and 500 inserted
| |Time(second)|
|:------------|:-----------|
|DifferenceKit|0.00425 |
|RxDataSources|0.00784 |
|FlexibleDiff |0.0168 |
|IGListKit |0.0412 |
|ListDiff |0.0388 |
|DeepDiff |0.015 |
Expand All @@ -215,6 +223,7 @@ Use `Foundation.UUID` as an element.
|:------------|:-----------|
|DifferenceKit|0.0079 |
|RxDataSources|0.0143 |
|FlexibleDiff |0.0305 |
|IGListKit |0.0891 |
|ListDiff |0.0802 |
|DeepDiff |0.030 |
Expand All @@ -226,6 +235,7 @@ Use `Foundation.UUID` as an element.
|:------------|:-----------|
|DifferenceKit|0.098 |
|RxDataSources|0.179 |
|FlexibleDiff |0.356 |
|IGListKit |1.329 |
|ListDiff |1.026 |
|DeepDiff |0.334 |
Expand Down

0 comments on commit 5d675d3

Please sign in to comment.