IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Avis sur une impl�mentation d'un "pool" de std::future


Sujet :

C++

  1. #1
    Membre �clair�
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2010
    Messages
    517
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : Sant�

    Informations forums :
    Inscription : Avril 2010
    Messages : 517
    Par d�faut Avis sur une impl�mentation d'un "pool" de std::future
    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!

  2. #2
    Membre Expert Avatar de Ehonn
    Homme Profil pro
    �tudiant
    Inscrit en
    F�vrier 2012
    Messages
    788
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 35
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : F�vrier 2012
    Messages : 788
    Par d�faut
    Citation Envoy� par darkman19320 Voir le message
    Je sais qu'OpenMP permet de faire ceci mais ce dernier n'est pas disponible sur tous les compilateurs... (clang par exemple).
    �a va venir / vient :
    http://llvm.org/releases/3.5.0/tools...easeNotes.html

    Citation Envoy� par darkman19320 Voir le message
    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?
    std::vector alloue sur le tas, std::array sur la pile.

    Pour le reste, j'ai pas encore regard� le code.

  3. #3
    Membre �clair�
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2010
    Messages
    517
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : Sant�

    Informations forums :
    Inscription : Avril 2010
    Messages : 517
    Par d�faut
    Super, merci pour cette pr�cision concernant les std::vector / array.

    Pour ce qui est de clang et OpenMP, c'est une tr�s bonne nouvelle mais malheureusement pas encore utilisable sur Mac. Un jour peut-�tre ^^

Discussions similaires

  1. Avis sur une impl�mentation rapide de WeakIdentityMap
    Par Logan Mauzaize dans le forum Collection et Stream
    R�ponses: 2
    Dernier message: 02/05/2011, 13h56
  2. Votre avis sur une proposition de job
    Par plex dans le forum Emploi
    R�ponses: 7
    Dernier message: 18/01/2007, 10h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo