Community
Participate
Working Groups
Currently, the CommonNavigator does not override the getSelection() method, which is quite expensive when called repeatedly by clients since it gets the current selection from the underlying SWT widget each time it gets called. A simple trick is to cache the selection and update it only when it actually changes. This would result in improved performance for clients who call getSelection() often. This defect is related to 140032. Please refer to it for more info. I will be submitting a patch shortly.
Created attachment 42885 [details] caching ISelection in CommonNavigator
-1. McQ, Boris and I have discussed this. This is a problem in TreeViewer so any fix should be made there. Please respond on bug 140032.
Michael, in the meantime we have looked at the issue together with Yasser and for 3.2.1, the safest fix on the Platform side seems to be caching the selection in the common navigator. We should talk about this.
Forgot to reopen...
Tentatively scheduling this for 3.2.1 so it doesn't fall off of the radar. Boris -- drop me a line when you're back.
Created attachment 47059 [details] proposed patch Michael, could you please review this patch for inclusion in 3.2.1? It is not as simple as I had hoped - we should get others to review the patch (or an improved patch) as well.
I tried the patch on my machine and it seems fine in terms of performance
I see no issues with this patch. OK to release.
Has this been released yet? The 3.2.1 release candidates are starting next week.
I missed this one for M20060816-0800 because I forgot to assign it to me.
Released to HEAD and R3_2_maintenance.
Verified that the fix is in the 3.2.1 stream [M20060830-0080] and in HEAD.