You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, when a group is reevaluated during data() in the Network class, it reevaluates over all nodes, not just newly entered or updated elements. In a case of a large network where a small amount of elements are added, this incurs a significant performance cost. Only newly added or updated elements should be reevaluated.
The text was updated successfully, but these errors were encountered:
After more research, this isn't feasible without more robust data management structures. In d3, the update selection contains all elements that are not entered or removed. Thus, evaluating all new and updated elements is effectively the same as evaluating over all elements in the resultant selection after binding the data.
To combat this, we will have to devise a better way to track data updates. Essentially, we would have to implement our own version of the enter-update-exit pattern which differentiates between unupdated and updated data, creating a 4th group. This would best be accomplished after the implementation of #95.
Currently, when a group is reevaluated during
data()
in the Network class, it reevaluates over all nodes, not just newly entered or updated elements. In a case of a large network where a small amount of elements are added, this incurs a significant performance cost. Only newly added or updated elements should be reevaluated.The text was updated successfully, but these errors were encountered: