mutative icon indicating copy to clipboard operation
mutative copied to clipboard

Difference between mutative and immer

Open udas0674 opened this issue 2 years ago • 3 comments

Hello: My team is considering moving to mutative from immer. We would like to know below:

  1. Main difference in implementation of state production in mutative than immer, which causes mutative to be faster. For example, how does mutative handle deeply nested states, et al?
  2. Test coverage for mutative.
  3. Production ready date or when V1 would be released.

Thank you, again! The results so far.

udas0674 avatar Oct 26 '23 23:10 udas0674

hi @udas0674 ,

  1. Mutative and Immer both implement mutable drafts based on Proxy, but Mutative utilizes a stack structure to collect draft instances, thereby gaining a significant advantage in performance. On the other hand, Immer utilizes a process of freezing states to mark them, and traverses these states during the finalization drafts process. And the differences aren't solely in performance, Mutative offers more features than Immer. For more details, you can refer to the README.
  2. The test coverage for Mutative is 100%, and it passed all the Immer test cases.
  3. Mutative v1 might be released next week, and I'm working hard to make that happen.

Thanks for your interest in Mutative!

unadlib avatar Oct 28 '23 17:10 unadlib

Thank you!

udas0674 avatar Oct 29 '23 23:10 udas0674

hi @udas0674 , we've released mutative 1.0. Feel free to use it.

unadlib avatar Dec 15 '23 20:12 unadlib