Hi Gary,
Lets take a real example of my current project.

Project with subprojects,
p1, p11, p12, p13, p21, p22, p23,

p11, p12, p13 depend on p1, but not under each other
P21, p22, p23 depend on p1x but not under each other
So I could build p11,p12,p13 in parallel after I have finished with p1 and
I could build p21,p22,p23 in parallel after I have finished with a p1x


I suggest to have following to build this project
<nant target="XXX" >
             <buildfiles>                
                <include name="p1\default.build"/>
             </buildfiles>
  </nant>
<nant target="XXX" max_threads_num="5" >
             <buildfiles>                
                <include name="p11\default.build"/>
                 <include name="p12\default.build"/>
                         <include name="p13\default.build"/>
             </buildfiles>
</nant>
<nant target="XXX" max_threads_num="5" >
             <buildfiles>                
                <include name="p21\default.build"/>
                 <include name="p22\default.build"/>
                         <include name="p23\default.build"/>
             </buildfiles>
</nant>



Alternative idea (more flexible, but seems to be more time consuming to
implement)

        <nant target="XXX" max_threads_num="10" >
            <buildfiles>                
                    <include name="p1\default.build" order="1"/>
                <include name="p11\default.build" order="2"/>
                <include name="p12\default.build" order="2"/>
                <include name="p13\default.build" order="2"/>
                <include name="p2*\default.build" order="3"/>
             </buildfiles>
</nant>

Hope it makes sense,
Boni


-----Original Message-----
From: Gary Feldman [mailto:[EMAIL PROTECTED] 
Sent: Donnerstag, 20. Juli 2006 15:13
To: Bonio Lopez
Cc: nant-users@lists.sourceforge.net
Subject: Re: [NAnt-users] Feature request

Bonio Lopez wrote:
> Hi,
> Meanwhile quite any machine has more then one processor (even Intel 
> with Dual Core and HT).
> Would not it be nice to add multithreading to nant? As starting point 
> I could imagine to add some attribute to <nant> task, like
>       <nant target="XXX" max_threads_num="4" >
>             <buildfiles>                
>                <include name="**\default.build"/>
>             </buildfiles>
>        </nant>
>
> The default value of max_threads_num could be 1, so that it would stay 
> compatible.
> The control flow stays in the nant task until all threads have exited 
> without errors. If one thread exited with error then build stops. IMHO 
> this feature would give significant speed up to the build process for 
> bigger projects on multiprocessor machines.
> What do you think?
>   
If the NAnt files are really independent of each other, then you can already
use CC.Net to run them in parallel.  But usually when you'd want to do a
build like this, from a single tree, there are interdependencies that
prevent you from doing things in parallel.

What sorts of projects do you have in this tree that would make you want to
build them all at once, and yet they can be built in any order?

Gary



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
NAnt-users mailing list
NAnt-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users

Reply via email to