See discussion here:
https://clojureverse.org/t/memory-efficient-vega-lite-reagent-components/9419/5
It seems that garbage collection is not working in underlying vega libraries possibly because they are expecting view.finalize to be called. So for complex reagent graphs the memory heap used can increase by MBs each time the graph is updated.
For example here:
https://jointprob.github.io/jointprob-shadow-cljs/memory-efficiency.html
Notice I did try to fix the issue in this example by calling finalize, see this commit:
jointprob/jointprob-shadow-cljs@e0d6621
But that hasn't fixed the issue.
See discussion here:
https://clojureverse.org/t/memory-efficient-vega-lite-reagent-components/9419/5
It seems that garbage collection is not working in underlying vega libraries possibly because they are expecting view.finalize to be called. So for complex reagent graphs the memory heap used can increase by MBs each time the graph is updated.
For example here:
https://jointprob.github.io/jointprob-shadow-cljs/memory-efficiency.html
Notice I did try to fix the issue in this example by calling finalize, see this commit:
jointprob/jointprob-shadow-cljs@e0d6621
But that hasn't fixed the issue.