ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nicolas Lalevée <nicolas.lale...@hibnet.org>
Subject Re: Ant+Ivy session at Apache Barcamp
Date Mon, 08 Nov 2010 13:22:51 GMT

Le 7 nov. 2010 à 07:28, Stefan Bodewig a écrit :

> On 2010-11-02, Antoine Levy Lambert wrote:
> 
>> - why do we not ship ant and ivy together ?
> 
> To some people our current distributions are too big already 8-)
> 
> There certainly is room for additional distribution formats like "the
> latest Ant bundled with the latest Ivy" that could be released whenever
> Ant or Ivy is released or "Ant plus the latest releases of selected
> Antlibs" or ...
> 
> Those things don't necessarily need to be part of our usual releases but
> could be put together separately.
> 
> In case of "latest releases" bundles, formally we wouldn't even need to
> vote on them.  In theory (and legaly) what we vote on is the source code
> we release and the binaries are only created for our users' convenience.

<advertising>
Maybe people looking for more prepackaged Ant are actually looking for something like EasyAnt
;)
</ad>

> 
>> - which support is there in ant to take advantage of multicore
>> machines to do work in parallel ?
> 
> From my experience with Gump I have to agree with Jan, building is I/O
> bound most of the time.  If you add parallelism here, it is likely going
> to slow things down rather than speed them up when two javac tasks
> compete for the disk.
> 
> Having said that there are things in your build that eat up time but are
> not I/O-bound.  Running tests for example.
> 
> In general Ant cannot know which parts of your build are good candidates
> to be spread accross cores and which it shouldn't run in parallel, I
> think an explicit <parallel> is better in this case.  Or the tasks would
> need to provide options, the <junit> task could provide an option to run
> tests in parallel for example.

I would assume that if dependencies between targets are properly set, and if it happens that
the target dependency graph have two separates branch which are merging at some point, Ant
would then be able to run those two separates branches in different threads, right ?

I doubt there would be much improvement too with that kind of parallelism, most of the target
graphs I have seen are quite linear: running test requires tests to be compiled, which requires
the main java to be compiled, which requires an ivy resolve.
When I saw real benefit of parallelism is when there are several different projects to build,
like within hudson, which is kind of out of scope of ant itself (but maybe a fit in for EasyAnt
:) ).

Nicolas


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org


Mime
View raw message