On Apr 19, 2012, at 11:48 AM, Jim Weirich wrote:

> 
> On Apr 19, 2012, at 10:34 AM, Hongli Lai wrote:
> 
>> Have you also looked at http://drake.rubyforge.org? How does your
>> implementation differ from his?
> 
> Michael can correct me if I'm wrong, but the -j option just limits the number 
> of concurrent tasks used to service the "multitask" task targets.  Multitask 
> is an existing rake facility that the -j option makes more usable.

That is exactly right. It only affects Multitask.

Some additional interesting tidbits: There is a queue of blocks that is a class 
member of Multitask which all Multitask instances use to queue their 
prerequisites. So, your thread's call to MultiTask#invoke_prerequisites may end 
up processing prerequisites for another's call to 
MultiTask#invoke_prerequisites. No matter though, your call won't return until 
all your prerequisites are completed.

> 
> Drake actually changes the semantics of the regular rake tasks so that they 
> run in parallel.

Thank you for that clarification. I'd only assumed that, given my rather 
cursory look, and it's nice to have it confirmed.

_ michael

_______________________________________________
Rake-devel mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rake-devel

Reply via email to