Bug 123396 - Regression: NameLookup creation longs around 1mn on project with heavy hiearchy (200 src folders * 200 packages)
Summary: Regression: NameLookup creation longs around 1mn on project with heavy hiearc...
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.2   Edit
Hardware: PC Windows XP
: P3 major (vote)
Target Milestone: 3.2 M5   Edit
Assignee: Jerome Lanneluc CLA
QA Contact:
URL:
Whiteboard:
Keywords: performance
Depends on:
Blocks:
 
Reported: 2006-01-11 04:14 EST by Frederic Fusier CLA
Modified: 2006-02-14 06:41 EST (History)
0 users

See Also:


Attachments
Proposed patch (9.74 KB, patch)
2006-01-11 09:17 EST, Jerome Lanneluc CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Frederic Fusier CLA 2006-01-11 04:14:52 EST
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...)
Comment 1 Frederic Fusier CLA 2006-01-11 04:28:02 EST
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...
Comment 2 Frederic Fusier CLA 2006-01-11 04:34:10 EST
Downsize severity as it seems not to be noticeable using build I20060110-1026 with "normal" hierarchy tree projects...
Comment 3 Frederic Fusier CLA 2006-01-11 04:44:09 EST
Seems to be a side effect of fix for bug 119161.
Removing code added in NameLookup constructor fixes the performance problem...
Comment 4 Jerome Lanneluc CLA 2006-01-11 09:17:50 EST
Created attachment 32837 [details]
Proposed patch
Comment 5 Jerome Lanneluc CLA 2006-01-11 10:05:08 EST
Released patch to HEAD.

(patch consisted in moving the creation of the isPackageCache to the ProjectCache instead of doing it for each new NameLookup)
Comment 6 Frederic Fusier CLA 2006-02-14 06:41:47 EST
Verified for 3.2 M5 using build I20060214-0010.