Community
Participate
Working Groups
Looking into why the first time the popup menu of the Navigator view is opened it takes so long. One area that takes almost 2 seconds is the creation of the delegate for ObjectPluginAction. The method ObjectActionContributorManager::contributeObjectAction will end up creating instances of ObjectPluginAction. Its super-class (PluginAction) constructor calls selectionChanged(IStructuredSelection). In this method, it creates the delegate object if the plugin is activated. The problem is some plugins are "activated" but the classes for the delagate object have not been loaded, causing the class loader to run...sucking up all this time. I would suggest in the selectionChanged() method we do not create the delegate even if the plugin is activated - cause there is no guarentee that the classes needed are loaded. The run() method will cause the delegate to load. NOTES: SA (8/2/2001 11:06:33 AM) Having done this change to validate the performance gain, I noticed we get another 2 seconds because another section of code does not run if the delegate is not created. In total, this would represent about 40% speed improvement. SA (8/2/2001 11:11:51 AM) And one more benefit, this also causes the Compare plugin not to activate. It was being activated because when one of the delegate classes was being loaded, it referenced a class in the Compare plugin, causing it to be activated. (the plugin containing this delegate class does have a prereq on the Compare plugin).
PRODUCT VERSION: R 0.9
We need to balance the desire to have accurate enablement vs speed.
Defer for more investigation
Reopen for investigation
I do not see a perfomance problem anymore...maybe this is not an issue anymore?
Not a source of performance problem, so no changes planned.