Community
Participate
Working Groups
Whenever a value changes in the EclipseContext, it notifies all listeners of the change. The listeners then can check the name of the update value and decide if they need to recompute their values. This does not scale all that well and results in ~300K calls to Computation.handleInvalid() on simple switch between two editors. Each call is quick, but still has to do lookups in HashMap / HashSet. That time adds up, resulting in roughly 25% of the time used to switch between editors. I'd like to change the way we store dependency information for context values: store it in the contexts organized by names so that only affected Computation elements get called.
Created attachment 172064 [details] Patch 1 - cleanup before the change This patch cleans up and re-organizes Computation code so that it is easier to read.