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

Affichage des r�sultats du sondage: Quelles API/biblioth�ques pour le d�veloppement multithread ?

Votants
75. Vous ne pouvez pas participer � ce sondage.
  • API du syst�me (Win32 par exemple)

    15 20,00%
  • API du framework I.H.M. de mon projet (MFC, Qt, wxWidgets)

    22 29,33%
  • Thread POSIX

    15 20,00%
  • Boost.Thread

    36 48,00%
  • ACE

    4 5,33%
  • POCO

    4 5,33%
  • C++11 (std::thread)

    18 24,00%
  • just::thread

    3 4,00%
  • Autre (pr�ciser)

    6 8,00%
Sondage � choix multiple
Threads & Processus C++ Discussion :

Quelle API pour la programmation concurrente ?


Sujet :

Threads & Processus C++

  1. #1
    R�dacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par d�faut Quelle API pour la programmation concurrente ?
    Bonjour,
    Il existe beaucoup d'options pour faire du multithread : API sp�cifique de l'O.S., biblioth�ques multiplateformes, abstractions de plus haut niveau, etc.
    Qu'utilisez-vous pour vos d�veloppements concurrents et pourquoi ? Quels sont les limites que vous trouvez et qu'aimeriez vous avoir comme autres services ?

    Ce sondage porte sur leur utilisation dans le cadre de la programmation concurrente, les objectifs principaux �tant la r�activit� et l'isolation (agents asynchrone => IHM non bloquantes, t�che d�di� traitements, etc..). Pour la programmation multithread dans un objectif de supporter une mont�e en charge (programmation //), voir ce sondage.

  2. #2
    Membre �prouv�
    Profil pro
    Inscrit en
    D�cembre 2008
    Messages
    124
    D�tails du profil
    Informations personnelles :
    �ge : 33
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2008
    Messages : 124
    Par d�faut
    Je pr�f�re coder moi m�me ma librairie de thread bas� sur les API syst�me comme ca le systeme est adapt� � mes besoins et il n'y a rien de superflu. Les autres librairies �tant concut pour �tre adapt� � tous, je pense qu'elles sont un peu trop lourde pour quelque chose suppos� �tre tr�s rapide.
    Les limites ? Le temps que ca prends � coder et les probl�mes de thread non g�r� nativement (dead locks...) qu'il faut donc g�rer soit m�me.

  3. #3
    screetch
    Invit�(e)
    Par d�faut
    je d�veloppe pour des plates-formes plutot multiples (sous-entendu non support�es par boost) donc j'utilise l'API systeme (Win32 sous windows, pthreads sous linux/mac/solaris, sp�cifique sur console/iphone)

  4. #4
    R�dacteur/Mod�rateur
    Avatar de JolyLoic
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    5 463
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 5 463
    Par d�faut
    J'ai plus vot� pour ce que j'utiliserais sur un nouveau projet que pour ce que j'utilise dans du code historique. Dans "Autre", j'ai pens� aux TBB (mais aussi peut-�tre � la biblioth�que avec un positionnement semblable de Microsoft TPL)
    Ma session aux Microsoft TechDays 2013 : D�velopper en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage � la d�couverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'h�sitez pas � me contacter.

  5. #5
    Expert confirm�
    Avatar de Luc Hermitte
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2003
    Messages
    5 296
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 5 296
    Par d�faut
    J'ai vot� pour plein de choses.
    Aujourd'hui : ACE
    A tester : ICE
    Demain: la partie threads de C++0x, � d�faut ceux de boost, � condition qu'ils viennent � supporter les t�ches qui communiquent via queues de messages (ACE_Task, agents de VC10 -- comment faire du MT s�rieusement sans �a ?). Accessoirement, just::thread me semble impl�menter des mutex hi�rarchiques (cf l'article d'Herb Sutter � ce sujet), et m�rite donc que l'on s'y attarde.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne r�ponds � aucune question technique par le biais de ce m�dia. Et de toutes fa�ons, ma BAL sur dvpz est pleine...

  6. #6
    Inactif  
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    743
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 743
    Par d�faut
    (Je ne connais pas ACE ou POCO)
    J'utilise l'API Windows, Mac et Pthread (Posix) dont je me suis fait des wrappers � la fa�on TBB (en moins complet).
    Je pr�f�re de loin l'API pthread � l'API Windows, mais �a oblige d'installer la lib pthreads_win32 (qui ne fait que wrapper l'API Windows).

    J'ai vot� "autre" en pensant � OpenMP: (c'est plus orient� calcul pur et dur pour parall�liser les boucles), je n'aime pas la syntaxe trop C. Ceci dit c'est facile, efficace et int�gr� � tout bon compilateur

    J'ai jamais utilis� TBB, c'est tout de m�me le concept que je pr�f�re, car �a ressemble � la STL, m�me si je trouve qu'il y a des lourdeurs.

    Je trouve que Boost ne fait pas grand chose, si ce n'est wrapper l'API Windows, Mac ou pthread.

    Quand le C++0x sera l�, je m'y mettrai, �a fera plaisir de ne plus avoir 36 couches de wrappers...

    PS: Je commence � toucher � OpenCL, c'est une interface C quand m�me compliqu�e (je me suis fait des wrappers...), mais c'est ce qui me parra�t encore �tre le plus simple et le plus portable pour la programmation GPU.

  7. #7
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    D�tails du profil
    Informations personnelles :
    �ge : 51
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par d�faut
    Personnellement, j'utilise toujours l'API native quand l'outil n'est pas pr�vu / con�u pour �tre portable (je pense notamment aux outils d�di�s � un syst�me donn�).

    Toutefois, dans le cas d'un projet portable, j'ai pu utiliser ACE, ICE et POCO. Boost ne fait pas partie du lot car non support� sur certaines de mes plate-formes. Dans ce genre de cas, j'ai quand m�me nettement tendance � pr�f�rer abstraire l'int�gralit� des fonctions utilis�es de l'OS et non pas juste la partie MT, d'o� mon choix de librairies d'abstraction compl�tes d'un OS.

    Au final :
    • API natives : Win32 nettement sup�rieur � pthread sur le plan pratique / mn�motechnique. Toutefois, j'ai toujours d�plor� l'absence de locks lecteur/r�dacteur sous Win32 (corrig� depuis Vista, mais pas sur les anciennes plate-formes), alors que cela existe sur pthread : cela pose parfois quelques soucis, amenant alors � utiliser une librairie g�n�rale pour le multi plate-forme au lieu d'un simple wrapper maison.
    • ACE : OK, c'est puissant et �a supporte des cibles peu courantes. Toutefois, l'API n'est pas claire, la doc non plus et il y a quelques comportements �tranges.
    • POCO : Tr�s puissant, tr�s bien document�, tr�s pratique. Seul inconv�nient : relativement peu de cibles support�es par rapport � ACE.
    • ICE : Tr�s l�ger sur le plan abstraction d'OS, c'est limit� aux �l�ments essentiels � la gestion des threads / sockets. Toutefois, si cela suffit au besoin, c'est aussi pratique � utiliser que POCO.
    • Le couple ICE (pour la communication) plus POCO (pour l'abstraction d'OS) est assez royal � utiliser.


    A tester un de ces jours :
    • OpenMP, notamment la compatibilit� entre VS/Win32 et GCC/Linux (avec sources identiques, bien entendu).
    • Trouver un pendant � PThreadWin32, qui wrapperait l'API Win32 sur Linux/PThreads, de fa�on � simplifier certains portages d'anciennes applications.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au s�rieux, de toutes fa�ons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum ad�quat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  8. #8
    Membre �prouv�
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    87
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Avril 2008
    Messages : 87
    Par d�faut
    openmp ca marche bien. faut pas l'oublier dans le sondage. sur mac faut avoir gcc 4.2 donc OSx10.6 mini. sous win ca marche bien aussi, a part un joli petit pi�ge de l'implementation de microsoft qui leak les threads cr��s si ta boucle openmp ne part pas du main thread.

  9. #9
    Membre Expert

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 49
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Par d�faut
    J'ai vot� C++11 / just::thread (enfin, std::thread maintenant), parce que �a me semble logique (et que la librairie est particuli�rement bien pens�e).
    [FAQ des forums][FAQ D�veloppement 2D, 3D et Jeux][Si vous ne savez pas ou vous en �tes...]
    Essayez d'�crire clairement (c'est � dire avec des mots fran�ais complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Caf�. C'est d�pass� tout �a.
    Et si vous �tes sages, vous aurez peut �tre vous aussi la chance de passer � la t�l�. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

  10. #10
    Expert confirm�
    Avatar de Luc Hermitte
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2003
    Messages
    5 296
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 5 296
    Par d�faut
    just::thread c'est plus que le standard.
    Cette impl�mentation commerciale offre des facilit�s suppl�mentaires pour le debuggage p.ex.

    Sinon, il faudrait peut-�tre distinguer les libs orient�s concurrences de celles orient�es parall�lisme -- et les hybrides, car il y en a toujours.
    Il est difficile de laquelle est mieux quand en fait toutes ne couvrent pas le m�me spectre de fonctionnalit�s, et sont en fait compl�mentaires.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne r�ponds � aucune question technique par le biais de ce m�dia. Et de toutes fa�ons, ma BAL sur dvpz est pleine...

  11. #11
    Membre �prouv� Avatar de uriotcea
    Homme Profil pro
    Ing�nieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par d�faut
    Bonjour,

    J'utilise beaucoup OpenMP. C'est facile � utiliser et c'est portable sur toutes les OS. Mais il n'est pas dans la liste !

  12. #12
    Membre Expert

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 49
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Par d�faut
    Citation Envoy� par Luc Hermitte Voir le message
    just::thread c'est plus que le standard.
    Cette impl�mentation commerciale offre des facilit�s suppl�mentaires pour le debuggage p.ex.

    Sinon, il faudrait peut-�tre distinguer les libs orient�s concurrences de celles orient�es parall�lisme -- et les hybrides, car il y en a toujours.
    Il est difficile de laquelle est mieux quand en fait toutes ne couvrent pas le m�me spectre de fonctionnalit�s, et sont en fait compl�mentaires.
    C'est plus que le standard, certes, mais c'est une impl�mentation bas�e sur l'interface propos�e par std::thread (le standard ne faisant que donner des requirements et une interface minimale, just::thread reste une impl�mentation de std::thread avec des extensions qui sont vendor-specific).
    [FAQ des forums][FAQ D�veloppement 2D, 3D et Jeux][Si vous ne savez pas ou vous en �tes...]
    Essayez d'�crire clairement (c'est � dire avec des mots fran�ais complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Caf�. C'est d�pass� tout �a.
    Et si vous �tes sages, vous aurez peut �tre vous aussi la chance de passer � la t�l�. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

  13. #13
    Membre tr�s actif Avatar de oxyde356
    Homme Profil pro
    Ing�nieur Recherche Imagerie
    Inscrit en
    F�vrier 2006
    Messages
    797
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur Recherche Imagerie

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 797
    Par d�faut
    J'ai vot� boost::thread, simple et vraiment tr�s pratique, de plus c'est plut�t complet niveau primitives de synchro, on fait ce qu'on veut avec de fa�on tr�s intuitive et compatible linux/win. J'ai tellement l'impression de faire du marketing que je vais finir par dire : un acheter, un offert

  14. #14
    R�dacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par d�faut
    Salut,
    Citation Envoy� par Luc Hermitte Voir le message
    Sinon, il faudrait peut-�tre distinguer les libs orient�s concurrences de celles orient�es parall�lisme -- et les hybrides, car il y en a toujours.
    Il me semble que le sondage ne propose que des libs orient�s concurrences, non ?

  15. #15
    Expert confirm�
    Avatar de Luc Hermitte
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2003
    Messages
    5 296
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 5 296
    Par d�faut
    Je trouve aussi.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne r�ponds � aucune question technique par le biais de ce m�dia. Et de toutes fa�ons, ma BAL sur dvpz est pleine...

  16. #16
    R�dacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par d�faut
    Bonjour,

    Pour tout ceux qui sont frustr�s de ne pouvoir proposer OpenMP, TBB, PPL ou CUDA, un nouveau sondage est ouvert ici : Quelle biblioth�que pour la programmation parall�le ?. Vous allez pouvoir voter pour LA biblioth�que qui assure vos performances

  17. #17
    Membre Expert
    Avatar de Klaim
    Homme Profil pro
    D�veloppeur de jeux vid�o
    Inscrit en
    Ao�t 2004
    Messages
    1 717
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur de jeux vid�o
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 1 717
    Par d�faut
    Je ne comprends pas pourquoi PPL et ITBB ne sont pas dans la liste, ils sont autant orient� parall�lisme que concurrence (et m�me que c'est leur principal interet je trouve, avec tous les outils pour les Task...)

Discussions similaires

  1. Quelle API pour traiter des param�tres d'un programme en ligne de commande ?
    Par Pierre8r dans le forum API standards et tierces
    R�ponses: 2
    Dernier message: 19/12/2008, 11h36
  2. [Runtime]Quelle API pour ne pas impacter le client?
    Par Jean_Benoit dans le forum C++Builder
    R�ponses: 1
    Dernier message: 28/11/2006, 10h38
  3. Quelle API pour la 3D?
    Par babarpapa dans le forum 3D
    R�ponses: 3
    Dernier message: 05/10/2006, 09h33
  4. Quelle API pour detecter un Exe qui s'execute.
    Par caviar dans le forum MFC
    R�ponses: 3
    Dernier message: 20/04/2006, 13h26
  5. [J2EE] quelle API pour Excel choisir ?
    Par vallica dans le forum Documents
    R�ponses: 4
    Dernier message: 19/04/2006, 14h24

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