Virtual Developer Summit - Sunday, April 11th 2010

François Perrad francois.perrad at
Thu Apr 15 16:09:43 UTC 2010

2010/4/13 Allison Randal <allison at>:
> On 4/11/10 9:12 AM, François Perrad wrote:
>> The languages left the nest with Parrot 1.0, and many libraries will
>> leave after 2.3.
>> My main goal is to build&  test them without Perl5 dependency.
>> See runtime/parrot/library/distutils.pir&  runtime/parrot/library/TAP.
> General agreement that this is a good long-term goal, and good to be making
> progress on it.
>> My current needs are :
>> - a way to chmod file (see TT #1322)
>> - a TAR library (first creation)
>> - a zlib library (first compression)
> All considered good ideas.
>> I want to experiment the parallel build&  test (option --jobs=Nb core).
>> With the subroutine run_jobs (see above), distutils is ready for a
>> refactoring
>>     .sub 'run_jobs' # serial build
>>         .param pmc jobs
>>       L1:
>>         unless jobs goto L2
>>         $S0 = shift jobs
>>         system($S0, 1 :named('verbose'))  # mainly, a spawnw $S0
>>         goto L1
>>       L2:
>>     .end
>> but I don't known which parallelism model is supplied by Parrot.
> Parrot currently provides a layer over POSIX threads (or Windows threads on
> Windows). They have limitations, but are adequate for this kind of simple
> parallelism (each parallel task is largely independent of another). The
> tricky part for you is likely to be deciding how to declare when a build job
> can be run in parallel, and when one job has to wait for another to
> complete.

This part is already done. The step 'build' is an ordered list of
sub-step which must be
executed in serial way. But in each sub-step, tasks could be run in
parallel (see run_jobs subroutine).

Could you give me more specific info about threads in Parrot, any pointer to :
documentation, code examples, tests, ...


> Allison
> _______________________________________________

More information about the parrot-dev mailing list