ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Bodewig <>
Subject Re: 1.8 Performance Degradation
Date Tue, 02 Mar 2010 05:12:37 GMT
On 2010-03-02, Antoine Levy Lambert <> wrote:

> I was wondering whether some code in the Redirector class could not
> play a part in the performance of attrib.

> I have seen that Redirector is used by Attrib because it is based on ExecOn.

> Looks like there are more occurences of synchronized in Redirector in
> the current code base compared to 1.7.x

That's not really that much of an issue.

If you run the testcase I've committed to the antunit tests (in
antunit/taskdefs/optional/windows) with Ant 1.7.1 it takes 0.3s on my
notebook, with Ant 1.8.0 it takes about ten seconds.  Now, if you reduce
the constants used for the sleep and join methods in PumpStreamHandler
and StreamPumper from 500 and 100 to - say - 50 and 20 it goes down to
1.2s.  The time really is dominated by the join timeout and currently
you can't seem to have any single execution that takes less than a

We can neglect the effect if the execution itself takes several seconds,
but with small things like <attrib> the delay becomes an issue.

Before I just commit smaller constants I wanted to revisit the issue -
and before I really do that I want to wait until you are ready with your
changes so we don't trip on each other's toes.


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message