You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by Sven <sv...@fireglobe.org> on 2002/06/20 21:33:02 UTC

task in 1.5Beta2 much slower than 1.4.1

>From an admittedly brief analysis of the changes, it looks like the new 
AntAnalyzer class (under taskdefs/optional/depend) is doing a whole bunch 
of extra searching to find the file dependencies of a given class, which 
aren't being used by depend.

On my 1200+ file project:
1.4.1 full dependency: 6 seconds.
1.5Beta2 full dependency: 90 seconds.

I believe this is because the AntAnalyzer goes through the entire 
classpath, searching every jar for the class being analyzed, even though 
the class was found by looking in the dest-dir, and its location is 
already known.

My solution was to regress the section of Depend.java that called 
AntAnalyzer to just get the class references, which was the behavior in 
1.4.1.  Is the additional functionality really necessary?  Dependency 
checking is already fairly slow, if it takes up a significant portion of 
the build time, it becomes useless.  If the additional file dependency 
information is really necessary, perhaps the Analyzer can be re-written to 
realize that it already has the class information is it going looking for.

-Sven


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: task in 1.5Beta2 much slower than 1.4.1

Posted by Conor MacNeill <co...@cortexebusiness.com.au>.
Sven wrote:
>>>From an admittedly brief analysis of the changes, it looks like the new 
> AntAnalyzer class (under taskdefs/optional/depend) is doing a whole bunch 
> of extra searching to find the file dependencies of a given class, which 
> aren't being used by depend.
> 
> On my 1200+ file project:
> 1.4.1 full dependency: 6 seconds.
> 1.5Beta2 full dependency: 90 seconds.

Thanks for reporting that. The problem was actually that AntAnalyzer was 
doing one unnecessary loop which I have removed. Can you update from CVS 
and try it again?

Conor


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>