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

Threads & Processus C++ Discussion :

Multithreading sous mac


Sujet :

Threads & Processus C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2010
    Messages
    5
    D�tails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 5
    Par d�faut Multithreading sous mac
    [suite � cette discussion]

    Merci pour ces infos utiles, j'ai utilis� na�vement "semaphore.h" pendant plusieurs heures �tant donn� que son utilisation ne g�n�re aucun warning ne comprenant pas d'o� venaient les probl�mes.

    Toutefois, ton impl�mentation m'a �galement pos� un petit probl�me que j'ai vite pu r�gler, au niveau de l'appel "mach_task_self()" :

    When compiling on OS X, there is a warning for undefined function
    mach_task_self().
    This functions is defined in mach_init.h. If it include mach/mach.h
    instead of <mach/mach_task.h> is fix this issue (or at east, include
    <mach/mach_init.h>).

    For the record, mach_task_self is defined as a macro to a global var
    instead of a function call when the proper header is include. So even
    if this function is compatible with the implicit declaration, it may
    be interesting to fix this.
    http://groups.google.com/a/webmproje...93a61821?pli=1

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 963
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 963
    Par d�faut
    Citation Envoy� par LastSpear Voir le message
    Les temps de chargement sont divis� presque par 2 !!!! (celons ma config, � savoir un ordinateur portable 2.5 Ghz, Bus � 1 Ghz, DD 5400trs/min, Nvidia 9600M GT)
    Si dans votre programme vous pouvez utiliser Grand Central Dispatch au lieu de pthread, vous gagnerez encore un peu
    en performance car l'overhead de cr�ation d'une task GCD est environ 10x moindre que celui d'un pthread.
    Donc plus votre algorithme doit cr�er de pthread plus le b�n�fice de GCD sera grand.

  3. #3
    Membre Expert
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Par d�faut
    Si c'est pour optimiser du graphsime, tu gagneras plus a faire ca en CUDA sur ta GPU.

    semaphore et autres mutex mal employ�s sont les enemis de la scalabilit�s. Un jeu video n'etant mi + ni - qu'une grosse simulation multiagent, les necessit�s de synchro explicites sont tres rares. OpenMP est en general largement suffisant.

Discussions similaires

  1. multithreading sous mac os leopard
    Par LastSpear dans le forum Threads & Processus
    R�ponses: 3
    Dernier message: 30/07/2009, 01h59
  2. [C++] Programmation C++ sous Mac
    Par reggae dans le forum D�veloppement OS X
    R�ponses: 2
    Dernier message: 09/10/2005, 12h10
  3. lbrairie glui sous mac
    Par milliet dans le forum OpenGL
    R�ponses: 6
    Dernier message: 05/05/2005, 14h58
  4. Multithreading sous HP Ux 11
    Par pykoon dans le forum Autres �diteurs
    R�ponses: 1
    Dernier message: 18/10/2002, 23h36

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