Bonjour tout le monde,
Pour m'entrainer à utiliser les std::future, les variadic templates et les std::function, j'ai implémenté un "pool" de std::future qui lance des fonctions sur un nombre de thread limité (défini par l'utilisateur).
Le but de cette implémentation est de paralléliser du code en très peu de lignes. Je sais qu'OpenMP permet de faire ceci mais ce dernier n'est pas disponible sur tous les compilateurs... (clang par exemple).
J'ai mis ce code sur GitHub (ici).
Pour le moment, je stocke l'ensemble des fonctions dans la pile (un vecteur de std::function). Je me posais la question s'il ne serait pas plus raisonnable de les stocker dans le tas si nous avons une énorme quantité de fonctions?
De plus, si vous avez des remarques, critiques ou avis sur le code, n'hésitez pas à m'en faire part.
Merci pour tout!
Partager