jflinter / Dwifft

Swift Diff
MIT License
1.86k stars 147 forks source link

Improving performance #86

Closed onmyway133 closed 6 years ago

onmyway133 commented 6 years ago

Hi, I'm learning different diffing algorithms, and I would like to give them benchmarks. Here is my benchmark https://github.com/onmyway133/DeepDiff#among-different-frameworks. I'm running on real device iPhone 6.

With 2000 items and 100 deletions, 200 insertions, Dwifft runs in 150 seconds. If I increase number of items to 10000+ items, then it just hangs for over half an hour. The item is just UUID string, but in real scenarios, custom objects with complex Equatable will suffer from slow performance.

Do you plan to improve the performance?

jflinter commented 6 years ago

Opening issues like this is unhelpful and unconstructive, and amounts to little more than idle complaining. I have no plans to do anything here; for animating table/collection view changes, for which this library is overwhelmingly used for, trying to apply a diff that large will just cause UIKit to hang anyway. Feel free to use another library if it doesn’t suit your needs.

onmyway133 commented 6 years ago

@jflinter Sorry if it sounds unconstructive 😢