Bonjour,

Je dispose d'un programme perl tout simple qui filtre un fichier pour générer un fichier csv.

Exemple simplifié:
12 56 toto 24
45 55 toto 67
=>
12;56;24
45;55;67

Je lance ce script sur plusieurs centaines de fichier.
J'ai migré mon script sur un machine multi-core, malheuresement le script ne tire pas partie de cette puissance, seulement 3% du CPU, ce qui correspond à 1 core (CPU 32 core).
Je pourrai lancé le script sur 32 fichiers en même temps en shell, et ainsi de suite mais je préférerai lançer 4 scripts en même temps pour utiliser 25%+25%+25%+25% de CPU, et ainsi de suite.

je ne voudrait pas partir sur une mauvaise piste en utilisant des modules alors que mon besoin est assez simple.
J'ai vu deux modules
-thread
-Parallel::ForkManager:

Pourriez-vous me conseiller lequel utiliser et la façon de procéder ou au contraire partir sur une autre piste?
Faut-il lire 1000 lignes les mettre dans un thread, et ainsi de suite jusqu'a 32?

Cela me parait un peu complexe à mettre en place et j'ai peur de perdre beaucoup de puissance CPU en échange de données au thread.
Pour info mes fichiers font entre 5Go et 30Go avec de 30 millions à 500 millions de lignes.

Merci