[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