On Oct 23, 2012, at 4:34 PM, Jos Backus <[email protected]> wrote:
> It would trigger my OCD ;)

<an aside>
Saw a post that read: "I have CDO.  It's like OCD but with the letters in 
alphabetical order."
</an aside>

> <questions on drake>

> Is this something the drake author could help gain certainty about?

Oh, yes.  Certainly.  The fault is my own laziness.  

> <discussion of options>
> 
> I like -m better, it avoids a future behavioral change conflict with -j.

Michael's proposal introduces both a -j and -m flag.  The -j flag sets the 
thread pool size and the -m turns tasks into multi-task.  The drake behavior is 
to use -j to do both jobs and leave no way of setting the thread pool for 
multitasks.

> <problems with arbitrarily turning on multithreading>
> 
> But would it not require users to specify some option? Iow, the default case 
> would not be affected. And if someone specifies a new option, the 
> documentation could point out that in the case of incomplete dependency 
> specifications, recipes that depend on pure sequential operation for 
> correctness could break, and the missing dependencies need to be specified.

The problem is not incomplete dependency specifications, but using 
shared/mutable objects in tasks (that suddenly could be executed in multiple 
threads).  I doubt there is any completely safe way to do this in general, but 
would like to hear ideas on reducing risk.

-- 
-- Jim Weirich
-- [email protected]





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

Reply via email to