You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by bu...@apache.org on 2007/04/24 16:09:24 UTC
DO NOT REPLY [Bug 42219] New: - Inefficient code in Union, DirectoryScanner makes large copy tasks very slow
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=42219>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=42219
Summary: Inefficient code in Union, DirectoryScanner makes large
copy tasks very slow
Product: Ant
Version: 1.7.0
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: P2
Component: Core tasks
AssignedTo: dev@ant.apache.org
ReportedBy: m101@io.com
In the (apparently) new org.apache.tools.ant.types.resources.Union class, and in
the venerable org.apache.tools.ant.DirectoryScanner class, Vectors or ArrayList
objects are used to accumulate unique file names. The resultant use of the
"contains" or "indexOf" methods on those objects consumes a tremendous amount of
CPU time when the lists get long. The primary offender is the code in the new
Union class, specifically in the "getCollection" implementation. The code in
DirectoryScanner is similar but (in my experience) causes less dramatic problems.
I'll attach a test build.xml file.
The solution is simple: since Java 1.4, java.util.LinkedHashSet has been
available to combine the lookup ("contains") performance of a HashSet coupled
with the predictable ordering of ArrayList or Vector. In the Union class, the
code change necessary is to replace the ArrayList with a LinkedHashSet. In
DirectoryScanner, all the Vector sets can be similarly replaced, though a few
cleanup code changes are necessary (invisible outside the class).
In my real-life build, I have an "install" phase that involves at one point
copying over 12,000 .class files into an application directory. That was taking
about 45 seconds of solid 100% CPU-burning time (without actually doing any
copying; it was a "null build" situation where a build had just been completed),
but after hacking in my own fix to Union.java the build runs in about 15 seconds
(directly comparable to 1.6.5). By applying the fixes to DirectoryScanner as
well, the "null build" time drops to 10 or 11 seconds.
--
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org
Re: DO NOT REPLY [Bug 42219] - Inefficient code in Union, DirectoryScanner makes large copy tasks very slow
Posted by Alexey Solofnenko <tr...@gmail.com>.
I would use inheritance instead of facades.
- Alexey.
On 4/26/07, Steve Loughran <st...@apache.org> wrote:
>
> Alexey N. Solofnenko wrote:
> > Classpath ordering is a usual practice that is used, for example, for
> > patching.
>
> yes, and it doesnt work with signed JARs. And, because <fileset> doesnt
> impose an order, you can't guarantee the order of use.
>
>
> The same classpath order could be used in debugger too. In our
> > case it could be hidden inside launcher. But there are other ways to
> > achieve the same - for example, factories that can return Java6 specific
> > FileResource, but it is cumbersome:
> > (FileResource)project.createObject("org.apache....FileResource"). The
> > later has its advantages too - project could configure the class to
> > support permissions or not.
>
> Facades, all you need are facades. More indirection.
>
>
> >
> > This follows to settings. I think we could put the settings in the
> > project class (as get/set methods or somehow else) - support or not
> > permissions, old/new behaviour is not a property of the environment, but
> > it is a property of a specific build script.
>
> hmmm.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
> For additional commands, e-mail: dev-help@ant.apache.org
>
>
--
Alexey N. Solofnenko
Home: http://trelony.cjb.net/
Pleasant Hill, CA (GMT-8 usually)
Re: DO NOT REPLY [Bug 42219] - Inefficient code in Union, DirectoryScanner
makes large copy tasks very slow
Posted by Steve Loughran <st...@apache.org>.
Alexey N. Solofnenko wrote:
> Classpath ordering is a usual practice that is used, for example, for
> patching.
yes, and it doesnt work with signed JARs. And, because <fileset> doesnt
impose an order, you can't guarantee the order of use.
The same classpath order could be used in debugger too. In our
> case it could be hidden inside launcher. But there are other ways to
> achieve the same - for example, factories that can return Java6 specific
> FileResource, but it is cumbersome:
> (FileResource)project.createObject("org.apache....FileResource"). The
> later has its advantages too - project could configure the class to
> support permissions or not.
Facades, all you need are facades. More indirection.
>
> This follows to settings. I think we could put the settings in the
> project class (as get/set methods or somehow else) - support or not
> permissions, old/new behaviour is not a property of the environment, but
> it is a property of a specific build script.
hmmm.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org
Re: DO NOT REPLY [Bug 42219] - Inefficient code in Union, DirectoryScanner
makes large copy tasks very slow
Posted by "Alexey N. Solofnenko" <A....@mdl.com>.
Classpath ordering is a usual practice that is used, for example, for
patching. The same classpath order could be used in debugger too. In our
case it could be hidden inside launcher. But there are other ways to
achieve the same - for example, factories that can return Java6 specific
FileResource, but it is cumbersome:
(FileResource)project.createObject("org.apache....FileResource"). The
later has its advantages too - project could configure the class to
support permissions or not.
This follows to settings. I think we could put the settings in the
project class (as get/set methods or somehow else) - support or not
permissions, old/new behaviour is not a property of the environment, but
it is a property of a specific build script.
- Alexey.
Steve Loughran wrote:
> Alexey N. Solofnenko wrote:
>
> Relying on order of stuff in classloaders is just wrong.
> -gets complicated when you bring signing into the bix
> -gets complex when the IDE sets up the build order
> -makes debugging a PITA.
>
>
>> I think we should not limit supported features supported by modern
>> Java while keeping backward compatibility with older versions. One
>> way is to use reflection. Another is to provide an alternative
>> implementation of some classes (FileResource) to be used with modern
>> Java. The later is straightforward, but the most recent Java is
>> required to build it.
>
> That's effectively what we do at build time...you need to build under
> 1.5 to get everything compiled, though we omit the stuff to let people
> still build on java 1.3+.
>
> For the proxy diagnostics, I abuse the toString() method, so we just
> cast the proxy diags to a method and do it from there. For the other
> stuff, well, there's nothing to stop FileUtils looking for a subclass
> of itself if it is there
>
>>
>> If something could be done better with modern Java, why not to use it
>> when possible?
>
> Only one reason: when it makes backwards compatibility odd, or screws
> up x-platformness. For example, for all the failings with file perms
> on java, requiring people to spec permissions when tarring a folder
> guarantees that the permissions in the tar get set in all platforms
>
> At the same time, sometimes I do want copy to preserve stuff, untar to
> propagate permissions, at least on unix. I may even want to use file
> permissions as a selector, selecting all files that are executable for
> some further action. As long as people understand the operations are
> not portable, well, they have the right to use them.
>
> Perhaps a limited set of operations could have permissions enabled,
> with some enum like
> permissions="always" - copy all perms, fail if we are a windows box
> or if the build doesnt allow it (wrong JVM, wrong class file)
> permissions="never" -the default
> permissions="optional" -copy perms if the JVM is right and the OS
> supports perms.
>
> we could also add another Permissions interface to resources, so you
> can read/write perms of files. This would work inside zip/tar files
> today, and on filesystem files on Java6+unix.
>
> I worry about what cygwin does here...how does it manage permissions?
> Because people are going to be disappointed if they expect ant to
> handle it.
> -Steve
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
> For additional commands, e-mail: dev-help@ant.apache.org
--
------------------------------------------------------------------------
Alexey N. Solofnenko <http://trelony.cjb.net/>
Pleasant Hill, CA (GMT-8 usually)
Re: DO NOT REPLY [Bug 42219] - Inefficient code in Union, DirectoryScanner
makes large copy tasks very slow
Posted by Steve Loughran <st...@apache.org>.
Alexey N. Solofnenko wrote:
Relying on order of stuff in classloaders is just wrong.
-gets complicated when you bring signing into the bix
-gets complex when the IDE sets up the build order
-makes debugging a PITA.
> I think we should not limit supported features supported by modern Java
> while keeping backward compatibility with older versions. One way is to
> use reflection. Another is to provide an alternative implementation of
> some classes (FileResource) to be used with modern Java. The later is
> straightforward, but the most recent Java is required to build it.
That's effectively what we do at build time...you need to build under
1.5 to get everything compiled, though we omit the stuff to let people
still build on java 1.3+.
For the proxy diagnostics, I abuse the toString() method, so we just
cast the proxy diags to a method and do it from there. For the other
stuff, well, there's nothing to stop FileUtils looking for a subclass of
itself if it is there
>
> If something could be done better with modern Java, why not to use it
> when possible?
Only one reason: when it makes backwards compatibility odd, or screws up
x-platformness. For example, for all the failings with file perms on
java, requiring people to spec permissions when tarring a folder
guarantees that the permissions in the tar get set in all platforms
At the same time, sometimes I do want copy to preserve stuff, untar to
propagate permissions, at least on unix. I may even want to use file
permissions as a selector, selecting all files that are executable for
some further action. As long as people understand the operations are not
portable, well, they have the right to use them.
Perhaps a limited set of operations could have permissions enabled, with
some enum like
permissions="always" - copy all perms, fail if we are a windows box or
if the build doesnt allow it (wrong JVM, wrong class file)
permissions="never" -the default
permissions="optional" -copy perms if the JVM is right and the OS
supports perms.
we could also add another Permissions interface to resources, so you can
read/write perms of files. This would work inside zip/tar files today,
and on filesystem files on Java6+unix.
I worry about what cygwin does here...how does it manage permissions?
Because people are going to be disappointed if they expect ant to handle it.
-Steve
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org
Re: DO NOT REPLY [Bug 42219] - Inefficient code in Union, DirectoryScanner
makes large copy tasks very slow
Posted by "Alexey N. Solofnenko" <A....@mdl.com>.
I think we should not limit supported features supported by modern Java
while keeping backward compatibility with older versions. One way is to
use reflection. Another is to provide an alternative implementation of
some classes (FileResource) to be used with modern Java. The later is
straightforward, but the most recent Java is required to build it.
If something could be done better with modern Java, why not to use it
when possible?
- Alexey.
Peter Reilly wrote:
> For file permissions, I think we have to use refection to see if
> the file object supports the api. I do not think that we can
> use pure java to check the permissions (except by using
> exec hackery) for pre java 1.4.
>
> Peter
>
> On 4/24/07, Alexey Solofnenko <tr...@gmail.com> wrote:
>> "No" for file permissions too?
>>
>> - Alexey.
>>
>> On 4/24/07, bugzilla@apache.org <bu...@apache.org> wrote:
>> >
>> > DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
>> > RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
>> > <http://issues.apache.org/bugzilla/show_bug.cgi?id=42219>.
>> > ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
>> > INSERTED IN THE BUG DATABASE.
>> >
>> > http://issues.apache.org/bugzilla/show_bug.cgi?id=42219
>> >
>> >
>> >
>> >
>> >
>> > ------- Additional Comments From peterreilly@apache.org 2007-04-24
>> 10:09
>> > -------
>> > #1
>> > Thanks mike for the build.xml, it would be nicer
>> > to be completel self contained - perhaps a
>> > bash/python script to create a big directory, and the
>> > build.xml to use this (see:
>> >
>> >
>> http://svn.apache.org/viewvc/ant/core/trunk/src/etc/performance/build.xml?revision=448449&view=markup
>>
>> > for an example of a selcontained test.
>> >
>> > #5
>> > I do not think that we should do this (provide a pre-jdk1.4 jar) for
>> > this problem.
>> >
>> >
>> >
>> > --
>> > Configure bugmail:
>> > http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
>> > ------- You are receiving this mail because: -------
>> > You are the assignee for the bug, or are watching the assignee.
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
>> > For additional commands, e-mail: dev-help@ant.apache.org
>> >
>> >
>>
>>
>> --
>> Alexey N. Solofnenko
>> Home: http://trelony.cjb.net/
>> Pleasant Hill, CA (GMT-8 usually)
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
> For additional commands, e-mail: dev-help@ant.apache.org
--
------------------------------------------------------------------------
Alexey N. Solofnenko <http://trelony.cjb.net/>
Pleasant Hill, CA (GMT-8 usually)
Re: DO NOT REPLY [Bug 42219] - Inefficient code in Union, DirectoryScanner makes large copy tasks very slow
Posted by Peter Reilly <pe...@gmail.com>.
For file permissions, I think we have to use refection to see if
the file object supports the api. I do not think that we can
use pure java to check the permissions (except by using
exec hackery) for pre java 1.4.
Peter
On 4/24/07, Alexey Solofnenko <tr...@gmail.com> wrote:
> "No" for file permissions too?
>
> - Alexey.
>
> On 4/24/07, bugzilla@apache.org <bu...@apache.org> wrote:
> >
> > DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
> > RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
> > <http://issues.apache.org/bugzilla/show_bug.cgi?id=42219>.
> > ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
> > INSERTED IN THE BUG DATABASE.
> >
> > http://issues.apache.org/bugzilla/show_bug.cgi?id=42219
> >
> >
> >
> >
> >
> > ------- Additional Comments From peterreilly@apache.org 2007-04-24 10:09
> > -------
> > #1
> > Thanks mike for the build.xml, it would be nicer
> > to be completel self contained - perhaps a
> > bash/python script to create a big directory, and the
> > build.xml to use this (see:
> >
> > http://svn.apache.org/viewvc/ant/core/trunk/src/etc/performance/build.xml?revision=448449&view=markup
> > for an example of a selcontained test.
> >
> > #5
> > I do not think that we should do this (provide a pre-jdk1.4 jar) for
> > this problem.
> >
> >
> >
> > --
> > Configure bugmail:
> > http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
> > ------- You are receiving this mail because: -------
> > You are the assignee for the bug, or are watching the assignee.
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
> > For additional commands, e-mail: dev-help@ant.apache.org
> >
> >
>
>
> --
> Alexey N. Solofnenko
> Home: http://trelony.cjb.net/
> Pleasant Hill, CA (GMT-8 usually)
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org
Re: DO NOT REPLY [Bug 42219] - Inefficient code in Union, DirectoryScanner makes large copy tasks very slow
Posted by Alexey Solofnenko <tr...@gmail.com>.
"No" for file permissions too?
- Alexey.
On 4/24/07, bugzilla@apache.org <bu...@apache.org> wrote:
>
> DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
> RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
> <http://issues.apache.org/bugzilla/show_bug.cgi?id=42219>.
> ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
> INSERTED IN THE BUG DATABASE.
>
> http://issues.apache.org/bugzilla/show_bug.cgi?id=42219
>
>
>
>
>
> ------- Additional Comments From peterreilly@apache.org 2007-04-24 10:09
> -------
> #1
> Thanks mike for the build.xml, it would be nicer
> to be completel self contained - perhaps a
> bash/python script to create a big directory, and the
> build.xml to use this (see:
>
> http://svn.apache.org/viewvc/ant/core/trunk/src/etc/performance/build.xml?revision=448449&view=markup
> for an example of a selcontained test.
>
> #5
> I do not think that we should do this (provide a pre-jdk1.4 jar) for
> this problem.
>
>
>
> --
> Configure bugmail:
> http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
> ------- You are receiving this mail because: -------
> You are the assignee for the bug, or are watching the assignee.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
> For additional commands, e-mail: dev-help@ant.apache.org
>
>
--
Alexey N. Solofnenko
Home: http://trelony.cjb.net/
Pleasant Hill, CA (GMT-8 usually)
DO NOT REPLY [Bug 42219] - Inefficient code in Union, DirectoryScanner makes large copy tasks very slow
Posted by bu...@apache.org.
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=42219>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=42219
------- Additional Comments From m101@io.com 2007-04-24 07:12 -------
Created an attachment (id=20031)
--> (http://issues.apache.org/bugzilla/attachment.cgi?id=20031&action=view)
Example build.xml
I used the attached build.xml by dropping it into a directory and then running
it (on my Linux workstation) with:
ant -Dinput=/usr/share -Doutput=/tmp/slow slow
The output directory has to be created first. Make sure you've got disk space,
although the big CPU burn happens before any actual copying starts.
--
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org
DO NOT REPLY [Bug 42219] - Inefficient code in Union, DirectoryScanner makes large copy tasks very slow
Posted by bu...@apache.org.
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=42219>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=42219
------- Additional Comments From gudnabrsam@yahoo.com 2007-04-24 08:08 -------
(In reply to comment #2)
> With Java 1.4, we have somewhat of a problem. It looks as though future Ant releases along the
1.7.x
> branch will support Java 1.3 . So until 1.8 (when we anticipate dropping Java 1.3 support), we would
have
> to provide our own class here. It might be easiest to steal ListOrderedSet from commons-collections
and
> make it package-private or an inner class until we can assume Java >= 1.4 and depend on
LinkedHashSet.
> Just a note; don't worry about accounting for all this in your patches. :)
>
Oh, and since your patch was only a buildfile (I forgot) don't misread that I think the suggested change
is complex enough to warrant your submitting Java patches either. :)
> Thanks,
> Matt
--
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org
DO NOT REPLY [Bug 42219] - Inefficient code in Union, DirectoryScanner makes large copy tasks very slow
Posted by bu...@apache.org.
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=42219>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=42219
------- Additional Comments From m101@io.com 2007-04-24 08:58 -------
Alternatively, for the Union class the code could keep a plain HashSet in
parallel to the ArrayList. In DirectoryScanner, I can't see that anything
relies on the ordering properties so plain HashSets would probably work; even
TreeSet since I think it sometimes wants the lists sorted anyway.
--
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org
DO NOT REPLY [Bug 42219] - Inefficient code in Union, DirectoryScanner makes large copy tasks very slow
Posted by bu...@apache.org.
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=42219>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=42219
------- Additional Comments From gudnabrsam@yahoo.com 2007-04-24 08:07 -------
With Java 1.4, we have somewhat of a problem. It looks as though future Ant releases along the 1.7.x
branch will support Java 1.3 . So until 1.8 (when we anticipate dropping Java 1.3 support), we would have
to provide our own class here. It might be easiest to steal ListOrderedSet from commons-collections and
make it package-private or an inner class until we can assume Java >= 1.4 and depend on LinkedHashSet.
Just a note; don't worry about accounting for all this in your patches. :)
Thanks,
Matt
--
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org
DO NOT REPLY [Bug 42219] - Inefficient code in Union, DirectoryScanner makes large copy tasks very slow
Posted by bu...@apache.org.
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=42219>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=42219
------- Additional Comments From alexeys@inventigo.com 2007-04-24 09:53 -------
We could provide alternative implementations for different Java versions and
make ANT launcher to automatically generate CLASSPATH depending on the current
version. For example, it could put ant-jdk1.4.jar in front of ant.jar if
conditions are right.
My interest is primarily file permissions in Java 6.
--
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org
DO NOT REPLY [Bug 42219] - Inefficient code in Union, DirectoryScanner makes large copy tasks very slow
Posted by bu...@apache.org.
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=42219>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=42219
------- Additional Comments From peterreilly@apache.org 2007-04-24 10:09 -------
#1
Thanks mike for the build.xml, it would be nicer
to be completel self contained - perhaps a
bash/python script to create a big directory, and the
build.xml to use this (see:
http://svn.apache.org/viewvc/ant/core/trunk/src/etc/performance/build.xml?revision=448449&view=markup
for an example of a selcontained test.
#5
I do not think that we should do this (provide a pre-jdk1.4 jar) for
this problem.
--
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org