Re: Question about MacroDef vs antcall

2003-10-28 Thread Matt Benson
Thanks!

-Matt

--- Stefan Bodewig <[EMAIL PROTECTED]> wrote:
> On Tue, 28 Oct 2003, Matt Benson
> <[EMAIL PROTECTED]> wrote:
> > --- Stefan Bodewig <[EMAIL PROTECTED]> wrote:
> 
> >> directory scanning speed has improved a lot in
> certain
> >> configurations
> > 
> > Stefan, could you point me to something that will
> > elaborate on that statement?
> 
> Apart from the cvs commits and some discussion on
> this list, I'm
> afraid there isn't too much.  The most important
> changes started on
> July 14th (Antoine's change to DirectoryScanner) and
> things have
> settled down about two week later.
> 
> In a nutshell, the scanner will now detect
> situations like
> includes="a/b/c/d/**" and not scan any directories
> that are not below
> d at all.  The old code would start with the base
> directory of the
> file set and at least scan a, a/b and a/b/c even
> though it never
> needed the results of the scans.
> 
> So you'll notice a speedup of all scanning
> operations for filesets
> that contain include patterns with constant path
> prefixes.  In
> particular you'll notice a big speedup for filesets
> that don't match
> on wildcards at all (i.e. where all include patterns
> are complete
> paths).
> 
> Stefan
> 
>
-
> To unsubscribe, e-mail:
> [EMAIL PROTECTED]
> For additional commands, e-mail:
> [EMAIL PROTECTED]
> 


__
Do you Yahoo!?
Exclusive Video Premiere - Britney Spears
http://launch.yahoo.com/promos/britneyspears/

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Question about MacroDef vs antcall

2003-10-28 Thread Stefan Bodewig
On Tue, 28 Oct 2003, Matt Benson <[EMAIL PROTECTED]> wrote:
> --- Stefan Bodewig <[EMAIL PROTECTED]> wrote:

>> directory scanning speed has improved a lot in certain
>> configurations
> 
> Stefan, could you point me to something that will
> elaborate on that statement?

Apart from the cvs commits and some discussion on this list, I'm
afraid there isn't too much.  The most important changes started on
July 14th (Antoine's change to DirectoryScanner) and things have
settled down about two week later.

In a nutshell, the scanner will now detect situations like
includes="a/b/c/d/**" and not scan any directories that are not below
d at all.  The old code would start with the base directory of the
file set and at least scan a, a/b and a/b/c even though it never
needed the results of the scans.

So you'll notice a speedup of all scanning operations for filesets
that contain include patterns with constant path prefixes.  In
particular you'll notice a big speedup for filesets that don't match
on wildcards at all (i.e. where all include patterns are complete
paths).

Stefan

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Question about MacroDef vs antcall

2003-10-28 Thread Matt Benson
--- Stefan Bodewig <[EMAIL PROTECTED]> wrote:
> directory
> scanning speed has improved a lot in certain
> configurations

...


Stefan, could you point me to something that will
elaborate on that statement?  I hadn't noticed that in
any of the 1.6 notes I've read...

Thanks,
Matt

__
Do you Yahoo!?
Exclusive Video Premiere - Britney Spears
http://launch.yahoo.com/promos/britneyspears/

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Question about MacroDef vs antcall

2003-10-28 Thread Stefan Bodewig
On Sat, 25 Oct 2003, Steve Cohen <[EMAIL PROTECTED]> wrote:

> Most of the smaller projects are usually (but not always) untouched,
> but they are touched just often enough that it is important for the
> master build to always build them.

Maybe (just maybe) Ant 1.6 will help here as well, as directory
scanning speed has improved a lot in certain configurations and
scanning usually is where Ant spends its time when there is nothing to
do.

Stefan

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Question about MacroDef vs antcall

2003-10-26 Thread Steve Cohen
Thanks for the information on depends vs. antcall.  My suspicion has been that 
antcall was a major cause of delay.  Unnecessary operations are another area of 
optimization potential.


-Original Message-
From:   Conor MacNeill [mailto:[EMAIL PROTECTED]
Sent:   Sun 10/26/2003 4:21 PM
To: Ant Developers List
Cc: 
Subject:Re: Question about MacroDef vs antcall
On Sun, 26 Oct 2003 03:18 am, Steve Cohen wrote:
> The new ant features wiki
>
> http://nagoya.apache.org/wiki/apachewiki.cgi?NewAntFeaturesInDetail/MacroDe
>f
>
> says:
>
> "If you are using  as a macro substitute, you really should look
> into this task. It is not only going to simplify your build files but also
> speed up your builds considerably as you skip the huge overhead connected
> with ."
>
> Re: the "huge overhead connected with ":
>
> Does this also apply to calls made to other tasks via "depends"?  

No, there is no overhead associated with depends because it operates within 
the same context as the depending target. An  sets up a whole new 
context in which to exectue the targets tasks. This also includes re-parsing 
the XML and re-building the in-memory structure of the build file. 

And if
> so, is a macrodef callable via depends? (I don't see how.)
>

No. depends does not really mean "callable". The depends attribute is used to 
describe the dependency structure of your build. That causes Ant to execute 
those targets to satisfy the dependencies. It is a relationship between 
targets - i.e. the large scale things that happen within your build. Tasks, 
including those defined by  are about the small, detail-level 
things that need to happen in your build. 

> Does ant 1.6 offer a way around this problem, or is there perhaps another
> way in ant 1.5 even?  My general feeling on ant scripts up to now has been,
> you can write an excellent quick and dirty script pretty easily or you can
> write a complicated system of build scripts, but it's very hard to make one
> script that serves both goals.

I would probably need more info to understand your build system to see why it 
may be taking time. Are there custom tasks? What operations are being invoked 
which may not be necessary. Can  be used to avoid sub-builds? etc.

If you can use macrodef in place of antcall, you should save some time. OTOH, 
if the build invokes operations that take time and which need to be done, 
according to timestamps, etc, then you may be limited in what you can do. You 
can potentially save time by accepting some out-of-date components. This can 
be OK in dev situation and may be what your "quick and dirty" scripts are 
doing.

Conor


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






Re: Question about MacroDef vs antcall

2003-10-26 Thread Conor MacNeill
On Sun, 26 Oct 2003 03:18 am, Steve Cohen wrote:
> The new ant features wiki
>
> http://nagoya.apache.org/wiki/apachewiki.cgi?NewAntFeaturesInDetail/MacroDe
>f
>
> says:
>
> "If you are using  as a macro substitute, you really should look
> into this task. It is not only going to simplify your build files but also
> speed up your builds considerably as you skip the huge overhead connected
> with ."
>
> Re: the "huge overhead connected with ":
>
> Does this also apply to calls made to other tasks via "depends"?  

No, there is no overhead associated with depends because it operates within 
the same context as the depending target. An  sets up a whole new 
context in which to exectue the targets tasks. This also includes re-parsing 
the XML and re-building the in-memory structure of the build file. 

And if
> so, is a macrodef callable via depends? (I don't see how.)
>

No. depends does not really mean "callable". The depends attribute is used to 
describe the dependency structure of your build. That causes Ant to execute 
those targets to satisfy the dependencies. It is a relationship between 
targets - i.e. the large scale things that happen within your build. Tasks, 
including those defined by  are about the small, detail-level 
things that need to happen in your build. 

> Does ant 1.6 offer a way around this problem, or is there perhaps another
> way in ant 1.5 even?  My general feeling on ant scripts up to now has been,
> you can write an excellent quick and dirty script pretty easily or you can
> write a complicated system of build scripts, but it's very hard to make one
> script that serves both goals.

I would probably need more info to understand your build system to see why it 
may be taking time. Are there custom tasks? What operations are being invoked 
which may not be necessary. Can  be used to avoid sub-builds? etc.

If you can use macrodef in place of antcall, you should save some time. OTOH, 
if the build invokes operations that take time and which need to be done, 
according to timestamps, etc, then you may be limited in what you can do. You 
can potentially save time by accepting some out-of-date components. This can 
be OK in dev situation and may be what your "quick and dirty" scripts are 
doing.

Conor


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]