https://issues.apache.org/bugzilla/show_bug.cgi?id=46088
Summary: Performance (speed) of large path(s) must be improved. Product: Ant Version: 1.7.1 Platform: PC OS/Version: Windows Vista Status: NEW Severity: enhancement Priority: P2 Component: Core AssignedTo: notifications@ant.apache.org ReportedBy: [EMAIL PROTECTED] Path in ant are efficient only for very small/short paths. When working with large paths and their aggregation, path manipulation, including list() method can take by far the most (>80% in my case) of the *entire* build time (by creating my own 'fastpath' type that extends path I was able to reduce the build time from over 50 minutes to less than 10)! The culprit: even though paths are specified immutable once created, they are not treated that way. Every time list() and related methods are invoked, the entire hierarchy of paths is walked through as if it never has been before. It explicitly prevents any form of caching, as far as I can see. One of the problems is that the path "materialization" (e.g. for list() method) is deferred, and it can contain mutable pieces in it, such as the filesets (e.g. new files may appear after declaration and before materialization and also between two materializations). However, if one is willing to sacrifice that ability (not a problem in many cases) and accept that the first materialization freezes the state, then a lot of build time can be saved. Otherwise, a smarter caching and notification/update mechanism may need to be used. Granted, this issue is more pronounced with larger projects (tens of thousands of classes in my case), but solving it would not hurt anyone else. -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug.