Commit Graph

653 Commits

Author SHA1 Message Date
Dan Holmsand d30ef3aedb Make copying of watches in ratom a little faster 2015-10-09 14:41:03 +02:00
Dan Holmsand 88d961563a Simplify template.cljs a little 2015-10-09 13:32:30 +02:00
Dan Holmsand 47f49868ae Optimize template.cljs a little 2015-10-09 09:40:41 +02:00
Dan Holmsand 32a9609b11 Add a few more tests for track 2015-10-08 23:12:32 +02:00
Dan Holmsand 9f07aa35f4 Experiment with js-object element in 0.14
Doesn't seem to do much for performance, unfortunately.
2015-10-08 18:37:48 +02:00
Dan Holmsand 3aea9849ec One more step towards React 0.14 2015-10-08 16:19:40 +02:00
Dan Holmsand fa48e61f47 Start move to React 0.14 2015-10-08 14:14:34 +02:00
Dan Holmsand 0c8269766f Avoid calling flush! when flushing 2015-10-08 07:04:41 +02:00
Dan Holmsand 158fca953b Make NativeWrapper thinner 2015-10-07 23:02:55 +02:00
Dan Holmsand 2a74cbb144 More tests for warnings 2015-10-07 21:37:26 +02:00
Dan Holmsand 1d1552960c Start testing warnings from components 2015-10-07 20:38:19 +02:00
Dan Holmsand 7f189d7595 Fix lifecycle test 2015-10-07 19:58:00 +02:00
Dan Holmsand ec769d0c3c Print function names instead of source in warnings/errors 2015-10-07 19:50:29 +02:00
Dan Holmsand b86e6278eb Reformat to get rid of very long lines 2015-10-07 18:01:13 +02:00
Dan Holmsand fefbcf109e Use new hiccup-err more 2015-10-07 17:56:08 +02:00
Dan Holmsand 72e546128f Avoid any overhead for supporting [:> comp ...] 2015-10-07 17:33:40 +02:00
Dan Holmsand 26392052b4 Get rid of pesky React warning in demo 2015-10-07 13:55:16 +02:00
Dan Holmsand 60427a3231 A little cleanup 2015-10-07 13:31:54 +02:00
Dan Holmsand e79132c1f3 Always queue updates in reactions, even when flushing 2015-10-07 11:32:42 +02:00
Dan Holmsand e6b32c6aee Allow raw React classes to be used with [:> comp ...] 2015-10-06 14:27:44 +02:00
Dan Holmsand 533c05aaca Allow output from create-class to be used directly by React 2015-10-06 12:49:47 +02:00
Dan Holmsand 4601b37ec5 Use functions to access argv 2015-10-06 10:46:59 +02:00
Dan Holmsand eb359b301d More property access to component.cljs 2015-10-06 10:40:11 +02:00
Dan Holmsand 52e729a294 Simplify class creation 2015-10-05 12:18:42 +02:00
Dan Holmsand 038b312dd0 Merge branch 'create-class' 2015-10-05 10:42:51 +02:00
Dan Holmsand de1e4d4ad5 Get rid of silent in ratom
And some small cleanup
2015-10-04 12:53:23 +02:00
Dan Holmsand 9a2d632826 Refactor to avoid circular dependency in ratom 2015-10-04 11:27:47 +02:00
Dan Holmsand 69e39bf6f7 Use keyword as key in with-let 2015-10-04 10:39:18 +02:00
Dan Holmsand 6ad55160eb Use set to simplify deref handling 2015-10-04 09:29:23 +02:00
Dan Holmsand dabffb86b6 Cleanup new deref watching a bit 2015-10-03 22:36:40 +02:00
Dan Holmsand c8b86af635 Get rid of complex deref watching code 2015-10-03 21:47:06 +02:00
Dan Holmsand b399f30daf Make Reaction a little smaller 2015-10-03 14:46:46 +02:00
Dan Holmsand a31c410e08 Faster compare of derefed reactions, and refactor 2015-10-03 12:56:35 +02:00
Dan Holmsand 70dd2a5166 Simplify make-reaction and deref-handling a lot 2015-10-03 11:54:32 +02:00
Dan Holmsand 05fb3ed39d Start simplifying reaction creation 2015-10-03 11:00:58 +02:00
Dan Holmsand 5d8f1ed116 Get rid of reaction-key 2015-10-03 09:22:33 +02:00
Dan Holmsand 4160704bdc Store cached reactions directly on function/object 2015-10-02 21:49:35 +02:00
Dan Holmsand 4ee08ea18e Use array for notify 2015-10-02 20:37:37 +02:00
Dan Holmsand 0cb0de8fc4 Cleanup and perf fixes 2015-10-02 17:34:08 +02:00
Dan Holmsand 4007e6db74 Simplify capture logic 2015-10-02 14:30:25 +02:00
Dan Holmsand 9a13446eea Try to avoid allocating new array in notify-deref-watcher 2015-10-02 13:02:37 +02:00
Dan Holmsand eb83776b3d Use transients for better caching performance 2015-10-02 10:18:48 +02:00
Dan Holmsand 6aa26253d8 Use a plain method for running reaction internally
Gives quite a big speedup
2015-09-30 10:32:16 +02:00
Dan Holmsand 94ad9952d8 Use empty context instead of *flushing* in flush! 2015-09-30 09:49:11 +02:00
Dan Holmsand d0f480f3f2 Remove hack to support sync reactions
It became too messy, risky and confusing to be worth it.
2015-09-30 09:40:57 +02:00
Dan Holmsand 3fca2e5d41 Make reactions async by queueing changes instead
Reactions now put themselves in a queue when they get a
callback from an atom. The queue is flushed before rendering, and
on deref on individual reactions.

This turns out to perform much better in many cases.
2015-09-30 08:56:06 +02:00
Dan Holmsand e39bb33ccc Use plain array instead of set for tracking watched atoms
Turns out to be much, much faster in most cases
2015-09-27 16:04:06 +02:00
Dan Holmsand 7cd2d7d860 Do a little cleanup in template.cljs 2015-09-27 11:14:32 +02:00
Dan Holmsand 83b21167ea Optimize common case of listening to one derefable 2015-09-27 11:11:15 +02:00
Dan Holmsand 97194b6fca More cleanup in ratom.cljs: get rid of IComputedImpl
Calling object methods and plain functions is faster.
2015-09-27 09:46:44 +02:00