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++

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 5
    Points : 7
    Points
    7
    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
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 952
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 952
    Points : 4 378
    Points
    4 378
    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 chevronné
    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 : 44
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Points : 1 921
    Points
    1 921
    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