This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-09-24
Channels
- # beginners (15)
- # boot (4)
- # cider (1)
- # cljs-dev (2)
- # cljsrn (5)
- # clojure (124)
- # clojure-france (2)
- # clojure-russia (22)
- # clojure-uk (10)
- # clojurescript (50)
- # core-async (5)
- # cursive (3)
- # datomic (8)
- # emacs (2)
- # fulcro (10)
- # hoplon (8)
- # jobs (4)
- # luminus (2)
- # lumo (7)
- # off-topic (14)
- # portkey (7)
- # re-frame (22)
- # reagent (2)
- # shadow-cljs (3)
- # spacemacs (1)
- # yada (26)
@flyboarder no, it's the opposite, there's never a need to not propagate, so there's no need to check if the value has changed
it's a tradeoff that javelin makes
that normally the time saved by not propagating values that haven't changed will outweigh the cost of the equality check to decide if the value did change
in the case of a cell that wraps a db with no extra logic (the conn
in datascript is normally an atom, but it works the same way) then as soon as i write to the db then i know it should propagate, no need to check what i already know by scanning the whole db row by row 🙂
@dm3 i haven't looked at the code as deeply as you have (not at all yet :P), i wonder if this could be as simple as running the equality check on cell=
but not cell
? when a cell
changes it would have to be in response to a swap!
or reset!
so, seems like an OK assumption to just forward the value on without testing it?