[Warszawa-pm] Zrównoleglanie Perla

Piotr Roszatycki piotr.roszatycki w gmail.com
Śro, 20 Cze 2012, 07:56:25 PDT


Czy znacie jakieś fajne narzędzia do zrównoleglania przetwarzania?

Ja znalazłem Parallel::Loop i jest to całkiem fajne. Przykład:

#!/usr/bin/perl
use 5.12.0;

use Digest;
use Parallel::Loops;

my @values;
my $pl = Parallel::Loops->new(5);
$pl->share(\@values);
$pl->foreach( [0..4], sub {
    my $sha = Digest->new("SHA-512");
    $sha->add($_ x 10e6);
    push @values, $sha->b64digest;
} );

W skrócie to działa tak, że w środku jest pętla foreach, która
wykonuje się w N procesach na raz (nie wątki = bezproblemowe SMP) a
dodatkowo współdzieląc jakąś zmienną można sobie odebrać wynik
przetwarzania z tej pętli do głównego procesu.

Czy ktoś się bawił już w takie rzeczy kiedyś? Może jest coś
fajniejszego do wykorzystania? Powyższe jest niezłe, ale składnia taka
sobie.

-- 
 .''`.    Piotr Roszatycki
: :' :    mailto:Piotr.Roszatycki w gmail.com
`. `'     mailto:dexter w debian.org
  `-


Więcej informacji o liście Warszawa-pm