Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

running Build... how to run parallel?

6 views
Skip to first unread message

Linda A. Walsh

unread,
May 20, 2013, 9:29:11 PM5/20/13
to module...@perl.org




In the pod for Module::Build, it says:

I don't like the core idea of "MakeMaker", namely that "make"
should be involved in the build process. ...

But the benefit of using makefiles is readily apparent for those
Perl modules that use MakeMaker... they can automatically make
use of parallel build abilities present on today's computers.

Module::Build, in re-inventing the dependency and process
handling of Make seems to have made how to do the equivalent
of "make -j" obtuse or opaque.

Is there a hidden switch for this? I don't see anything documented
in Module::Build. Certainly is a good reason for re-use of standard
components... as they are improved, build procedures can usually,
automatically benefit...

Am I missing a feature somewhere?

Thanks,
linda

Leon Timmermans

unread,
May 22, 2013, 4:42:04 PM5/22/13
to Linda A. Walsh, module...@perl.org
Module::Build does not have a feature. This is generally considered
unfortunate, but can not be changed anymore. A future replacement of
Module::Build might support it though. Though to be honest, MakeMaker
write out makefiles that are not particularly parallelizable, and even
if it did most build-times aren't long enough to benefit much from
them.

Actually, «./Build test»/«make test» does support parallelization
using the HARNESS_OPTIONS environmental variable, though this an
undocumented (AFAIK) implementation detail. I would rather like to add
a more comprehensive option for this TBH.

Leon

Linda W

unread,
May 22, 2013, 8:32:55 PM5/22/13
to Leon Timmermans, module...@perl.org



Leon Timmermans wrote:
>
> Module::Build does not have a feature. This is generally considered
> unfortunate, but can not be changed anymore. A future replacement of
> Module::Build might support it though. Though to be honest, MakeMaker
> write out makefiles that are not particularly parallelizable, and even
> if it did most build-times aren't long enough to benefit much from
> them.
----

It was only because I was having to build and rebuild a long-taking
module with many single unit C compiles (Wx), that it came up.

Usually not so much an issue, due to short time, but on that one and
with the number of times till got it right... Ug...

>
> Actually, «./Build test»/«make test» does support parallelization
> using the HARNESS_OPTIONS environmental variable, though this an
> undocumented (AFAIK) implementation detail.

Yeah... have noticed / tried it -- didn't add as much speed as parallel
building -- I think the tests are more often built in a layered fashion,
where it doesn't make sense to test "paragraph reading", if "letter
recognition" or "file read" hasn't been tested yet. Not too many
modules have so many parallel components that so separate as to benefit
from parallel testing, but most of the larger ones can benefit from
parallel builds.

Perl can benefit from parallel testing to an extent -- but I don't think
it gives even a 2x speed boost w/12cpus... vs. building... the unicode
tests are really LONG... (not that unicode isn't worth it or
complicated, just that they stand out in length!)...



> I would rather like to add a more comprehensive option for this TBH.
----

So many dreams, so little of one's self to 'go around'...

Thanks for the reply... I was thinking it not likely, but I
didn't want to make "assumptions", and feel dumb later ... ;-)



0 new messages