[Rake-devel] Comments about parallel building
James M. Lawrence
quixoticsycophant at gmail.com
Mon Jun 7 02:39:39 EDT 2010
Thanks for this work, Heath. I've pushed a version of your patch and
added some tests.
You corrected an inadequate fix I made for some curious behavior in
mainline rake, mentioned in the second half of
http://rubyforge.org/pipermail/rake-devel/2008-October/000610.html
Though my solution is more efficient, it fails on a kite-shaped graph
(a diamond with a tail). However your solution is simpler, nicer and
(incidentally!) fixes the problem.
Do you have an example which shows the reason for the "if needed?"
clause after "task.execute(task_args)" in your patch? I'd be
surprised if that does anything; nodes are executed only once, and
duplicate nodes are not possible (being keyed on object_id).
While investigating this bug I found some more curiosities with
mainline rake (next email).
JL
On Thu, May 20, 2010 at 11:42 AM, Heath Kehoe <hkehoe at budcat.com> wrote:
>
> On 5/19/2010 1:00 PM, Heath Kehoe wrote:
>>
>> So we're sticking with ruby 1.8 for now. As I said, perhaps drake's
>> approach will be better for 1.9, I'll try that out sometime.
>>
>> -heath
>>
>>
>
> I tried drake, and it is promising, since its compute tree model is much
> more efficient than the MultiTask model I was using, especially in null
> builds (no creating/joining of thousands of threads).
>
> However, it has a bug that prevents me from deploying it in our project;
> that bug is it sometimes fails to execute tasks during parallel builds. I
> created a simple test case and filed a bug on the drake rubyforge tracker.
>
> -h
More information about the Rake-devel
mailing list