[Rake-devel] Rake 0.9.3.beta.2 with -j option
watsonmw at gmail.com
Wed Oct 24 00:30:49 UTC 2012
With GNUMake it usually safe to assume that a project will *not* work
with -j by default. Like you said there are probably a bunch of
subtle and not so subtle race conditions. Even if the developers of a
makefile use -j, you can pretty sure it doesn't work for some build
targets. So, yeah, I agree that would argue in favor of multitask and
the developer of the rakefile making explicit that they want to allow
a task to execute it's dependencies in parallel.
On 23 October 2012 16:05, Jim Weirich <jim.weirich at gmail.com> wrote:
> On Oct 23, 2012, at 4:54 PM, Mark Watson <watsonmw at gmail.com> wrote:
>> What about having the old code called by default and if you specify -j
>> the new parallel code is executed? That way old rakefiles still work,
>> and new ones can take advantage of the -j feature
> So you check out a new project from GitHub and decide to run rake on it. How do you decide if its safe to run with -j or not? Try it and see? Wait for subtle unreproducible race conditions to manifest?
>> (after all that was good enough for GNUmake).
> GNUMake mainly deals with shelling out to commands. I suspect Rakefiles that mainly shell out to compilers and linkers will have little problem with -j.
> It's the Rakefiles that execute significant Ruby code in process that I'm concerned about. And maybe I'm overly concerned about this issue, but I've dealt with real-time systems and multiple threads in a past life and know how tricky it can be to get things right.
> -- Jim Weirich
> -- jim.weirich at gmail.com
>  Ask me sometime about my 1 in a million failure.
> Rake-devel mailing list
> Rake-devel at rubyforge.org
More information about the Rake-devel