> 1 - All tasks are implicitly multitask
Yes, in the sense that all tasks can be executed in parallel with other tasks.
Upside parallelism is octagonal to the method
('file'/'directory'/'task') used to define the task.
It has the downside that some tasks may not be suitable for executing
in parallel. E.g. the dependencies are wrong, or the task itself
incorrectly shares some resource with other tasks (say multiple tasks
modify the same file as an intermediate step during the task
execution). IMHO, making stuff work in parallel requires thinking
about the problem anyway and often leads to better code. If one
needed to make something single thread a mutex should do the trick.
So it's not that hard to be a good -j citizen :)
> 2 - There is a cap on the number of concurrent tasks
Yes, this is whatever is set in the -j option.
> 3 - There is a control to create a repeatable single-threaded random
> invocation of tasks (--randomize[=SEED])
Yes, it's to help people debug rakefile dependencies, as you've
probably figured :)
On 20 April 2012 09:51, Michael Bishop <[email protected]> wrote:
> Quick question for the list:
>
> After reading more about drake, I wanted to summarize the differences for my
> own understanding.
>
> Differences in drake from rake:
>
> 1 - All tasks are implicitly multitask
> 2 - There is a cap on the number of concurrent tasks
> 3 - There is a control to create a repeatable single-threaded random
> invocation of tasks (--randomize[=SEED])
>
> Is this correct?
>
> _ michael
>
> _______________________________________________
> Rake-devel mailing list
> [email protected]
> http://rubyforge.org/mailman/listinfo/rake-devel
_______________________________________________
Rake-devel mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rake-devel