Bug 190840

Summary: SourceMapper#computeAllRootPaths(IType) factorisation suggestion
Product: [Eclipse Project] JDT Reporter: Eric Jodet <eric_jodet>
Component: CoreAssignee: Jerome Lanneluc <jerome_lanneluc>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: Olivier_Thomann
Version: 3.3Keywords: performance
Target Milestone: 3.5 M1   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
Proposed fix and performance test none

Description Eric Jodet CLA 2007-06-04 12:26:29 EDT
Version: 3.3.0
Build id: I20070601-1539

see bug 190094 for the context.

Test scenario:
- have a type that inherits a class located in a big JAR
- open this type in the Java editor, press Crtl+O twice to show inherited members

As there is no source attached to the referenced JAR file, the SourceMapper#computeAllRootPaths(IType) method could be optimized, as we scan
the same zip file twice:
once to search for class files,
once to search for source files.

If no source attached to JAR file, then we'll be scanning the same JAR twice.
During the first scan, we could trigger a flag to remember this JAR has no source in it.
Comment 1 Eric Jodet CLA 2007-06-04 12:35:46 EDT
(In reply to comment #0)
see also bug 190842
Comment 2 Jerome Lanneluc CLA 2007-06-20 10:21:56 EDT
Performance work
Comment 3 Jerome Lanneluc CLA 2008-05-07 07:53:54 EDT
Deferring post 3.4
Comment 4 Jerome Lanneluc CLA 2008-06-10 11:06:13 EDT
Created attachment 104326 [details]
Proposed fix and performance test

To verify, one can run the performance test locally with and without the fix in SourceMapper
Comment 5 Jerome Lanneluc CLA 2008-06-25 09:22:16 EDT
Fix and performance test released for 3.5M1.

Still need to release performance test to 3.5 performance baseline.
Comment 6 Jerome Lanneluc CLA 2008-06-27 06:51:21 EDT
Performance test released in perf_34x branch.
Comment 7 Olivier Thomann CLA 2008-08-08 10:57:58 EDT
Will be verified once the performance test results are back.
Comment 8 Frederic Fusier CLA 2008-09-16 10:07:14 EDT
Verified for 3.5M2 using local JDT/Core performance tests.

Here's the results noticed on our test box for the added performance test testGetSourceBigJarNoAttachment():

Version		Value
----------------------
M1		22.62%
v_908		23.07%
v_909		23.79%
v_910		23.86%
v_911		20.97%
v_912		19.16%