Bug 46378 - Java classpath performance issues
Summary: Java classpath performance issues
Status: CLOSED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.0   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.0 M6   Edit
Assignee: JDT-Core-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-11-10 16:59 EST by Tim deBoer CLA
Modified: 2008-05-13 18:45 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tim deBoer CLA 2003-11-10 16:59:31 EST
Changing the classpath of a Java project (even an empty one) in 2.1.2 can take 
several seconds, especially when the classpath is large and the JDK is also 
being switched. Consider a case where about 25 average sized jars are being 
removed and 25 new jars added.

Most of the processing appears to be in the Java indexer, which is on the 
background in most situations. It can take over 5-15 seconds even when nothing 
else is happening, and we have also seen cases where other tools have to wait 
for the indexer to complete before proceeding. Turning on tracing shows 60-
100ms for most jars, but up to 500+ ms per jar for some of the larger ones.

This defect is being opened as a general request to look into performance 
improvements in modifying the classpath, especially in cases where many jars 
are being added and/or removed. If this has already been investigated or 
improved in v3 then feel free to close the defect, otherwise I would 
appreciate it if you can take another look into it. Thanks.
Comment 1 Philipe Mulet CLA 2003-11-12 12:39:31 EST
We have to open and parse all the JARs so as to ensure they are properly 
indexed. Any pending search query has to wait until the indexing has been 
completed. Note that there are ways for queries to notice that the indexing 
isn't finished in a non blocking way.

Do you have anything particular in mind ?
Comment 2 Philipe Mulet CLA 2003-11-21 10:02:06 EST
Can you please check performance on M5 (once final M5 is declared) ?
We made some improvements for bug 47213 which could improve what you're seeing.
Comment 3 Tim deBoer CLA 2003-12-13 12:34:51 EST
I do see performance improvements in M5. We don't have our full plugin stack 
up to determine the actual %, but I will close this defect since it is 
definitely better. Thanks.
Comment 4 Frederic Fusier CLA 2003-12-17 12:22:12 EST
Verified for 3.0 M6 with build I200312162000.

Use a test case with 3 directories containing each one 100 jar files for a 
cumulated size around 25Mb disk space.
My box is a PIII-1GHz, 1Go RAM.

To remove 100 files and add 100 new ones
 - 2.1.2: 7-8 seconds
 - 3.0 M6: 3-4 seconds 
Comment 5 Tim deBoer CLA 2008-05-13 18:45:04 EDT
Verified, closing old bug.