Community
Participate
Working Groups
JDT/Core performance tests didn't finish on I20060110-1026 build. They were stuck on test suite FullSourceWorkspaceModelTests which first creates a *big* project (200 source folders with 200 packages in each source folder). Starting this test suite with 3.2 M4 (ie. v_631) and debug/resolution on, I can see that NameLookup instanciation never takes more than 20 ms: Thread[main,5,main] BUILDING NameLookup Thread[main,5,main] -> pkg roots size: 200 Thread[main,5,main] -> pkgs size: 40205 Thread[main,5,main] -> working copy size: 0 Thread[main,5,main] -> spent: -2ms (main of time spent were 2ms and only got 1 time at 20ms...) But using I20060110-1026 build (ie. v632) I see that it longs around 1 minute: Thread[main,5,main] BUILDING NameLookup Thread[main,5,main] -> pkg roots size: 200 Thread[main,5,main] -> pkgs size: 40205 Thread[main,5,main] -> working copy size: 0 Thread[main,5,main] -> spent: -72533ms (following instantiation time spent was 59563ms and then I stop execution...)
Times are still around 1 minute using 3.2 M4 build + JDT/Core v_632 => it definetely comes from changes in JDT/Core between v_631 and v_632...
Downsize severity as it seems not to be noticeable using build I20060110-1026 with "normal" hierarchy tree projects...
Seems to be a side effect of fix for bug 119161. Removing code added in NameLookup constructor fixes the performance problem...
Created attachment 32837 [details] Proposed patch
Released patch to HEAD. (patch consisted in moving the creation of the isPackageCache to the ProjectCache instead of doing it for each new NameLookup)
Verified for 3.2 M5 using build I20060214-0010.