Jin Profile picture
Nov 28 β€’ 7 tweets β€’ 6 min read
πŸ”₯ Big Benchmark of State Managers πŸ”₯
perf.js.hyoo.ru/#!bench=9h2as6… Image
Perfect State Manager should:
- Batch changes
- Collapse doubled dependencies
- Reuse moved dependencies
- Skip eval which result isn't needed
- Skip eval when dependencies isn't changed
- Eval dependents only when actually changed
- Apply side effects only once on state change Image
@mweststrate #mobx is too wasteful of memory. I think this is the reason why it is not very fast. You can steal this idea to dramatically reduce the number of memory allocations:
mol.hyoo.ru/#!section=arti…
@mweststrate @LegendAppHQ Your marketing information (legendapp.com/open-source/) is untrue:

1. Reactivity model causes side effects an unpredictable number of times: eval.js.hyoo.ru/#!code=let%20r…

2. If you turn off the tests, your solution shows the worst performance. Image
@BenLesh @_ojkwon @ncjamieson #rxjs causes heavy handlers and side-effects many times over due to the complex dependency graph, which leads to significant performance degradation. Is it possible to solve this problem without adding asynchrony point via debounce(0) to each stream? Image
@zero__bias @_sergeysova @sashahoroshih #effector promises maximum performance. However, in this test it recalculates the entire graph per event. This gives one of the worst results. Twice as bad as even Redux+Reselect, which suffer from the same problem. ImageImage

β€’ β€’ β€’

Missing some Tweet in this thread? You can try to force a refresh
γ€€

Keep Current with Jin

Jin Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(