Hi Niels, It is true that this comparison is a bit stacked because basically freactive only modifies the needed attributes without needing to diff the whole structure. I'm not sure if I understand totally your other questions - maybe you could clarify a little.
Regarding diffing - in terms of rerendering whole subtrees every time reactive will not perform as well as react even if diffing is implemented - it is not designed that way. It is designed for direct to-site binding as opposed to binding that could be anywhere (thus the need for diffing). As a result - however - items/collection view type components (as in desktop GUI frameworks) will be needed when dealing with large collections - if they are used, however, the system should theoretically scale much better than a diffing system. Yes there are tradeoffs, but I believe the tradeoffs will probably be worth it. Of course, this is something for discussion and experimentation. Please keep in mind all that for me this was kind of an experiment for me and I am actually pleasantly surprised with the results. On Thu, Nov 20, 2014 at 3:53 PM, Niels van Klaveren < niels.vanklave...@gmail.com> wrote: > This looks pretty impressive, both in already implemented features and > performance. > > I can't help but wonder though if the example chosen to compare > performance with React/ Reagent isn't stacked a bit because effectively all > nodes are rerendered all the time ? Wouldn't this effectively nullify > performance gains from different diffing behavior ? I know it's in the > cards, but how is the performance difference now while only needing to > rerender parts of the dom ? > > On Monday, November 17, 2014 10:03:08 PM UTC+1, Aaron wrote: >> >> >> >> On Monday, November 17, 2014 2:42:38 PM UTC-5, Aaron wrote: >>> >>> On Monday, November 17, 2014 2:27:17 PM UTC-5, Ruslan Prokopchuk wrote: >>> > I've played a little bit with freactive today, and investigated this >>> idea with using polymer components — it works! I'm unsure of right usage of >>> rx, especially on conditional rendering — (rx (if @state ... does >>> autorerendering, but (rx (if (:key @state) ... does not. And there are some >>> questions about how to structure app properly. I'm too tired to formulate >>> them today, but bigger than performance demo examples and more >>> documentation are welcome, because I'm very enthusiastic to use freactive >>> in real projects! >>> > >>> >>> Hope I can make the intended usage and specifics about >>> update/invalidation behavior more clear - but probably another day as well. >>> Structuring large apps is something we're figuring out as we go... >> >> >> Okay, this is what I want to say about structuring an app - I think the >> ideal way would be to have a single (rx (dispatch-state @state)) at the >> root of the app where dispatch-state is something like a multi-method. >> > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > --- > You received this message because you are subscribed to a topic in the > Google Groups "Clojure" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/clojure/99myJ9vLeKQ/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.