[Perl] Perl et traitements (nativement?) multi-cœur

Sylvain Lhullier sylvain at lhullier.org
Lun 5 Déc 12:58:33 CET 2016


Bonjour,

Je m'interroge sur la capacité de Perl à utiliser les différents cœurs processeurs
disponibles sur un ordinateur pour paralléliser les traitements.
Je connais (et utilise) le module threads. Je connais également Parallel::ForkManager.
Mais ma question ne concerne pas ce genre de choses.

Je souhaite savoir s'il est envisagé/envisageable qu'une simple commande
@t = map { $_ * 2 } @t;
appliquée sur un gros tableau puisse être traitée en parallèle par différents cœurs.
On pourrait evisager que le traitement soit découpé et effectué en plusieurs morceaux.
Mais au delà de mon exemple simple, il existe certainement plein d'action réalisées par Perl
qui seraient susceptibles d'être traitées en parallèle.

Depuis quelques années, des langages apparaissent qui proposent nativement ce type de choses.

Si ce n'est pas nativement prévu par le langage Perl, est-ce que vous connaissez des modules
qui m'éviterait de devoir faire des threads et gérer à la main les problèmes de découpage
de la tâche et de convergence finale ?

Merci à vous,

Librement,

-- 
Sylvain Lhullier
Formation Perl  http://formation-perl.fr/
Président des Mongueurs de Perl  http://mongueurs.net/


Plus d'informations sur la liste de diffusion Perl