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 :

Algorithme et threads


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Avril 2010
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 356
    Par défaut Algorithme et threads
    Bonjour, j'ai un programme en c.

    Je ne rencontre aucun problème au niveau de l'utilisation des mutexs et autres.
    Cependant, je ne trouve pas d'algorithme satisfaisant :

    J'ai des séries de nombres et j'essaye de déterminer lesquelles sont "bonnes" et lesquelles sont "mauvaises". Pour cela, j'utilise 2 algorithmes de tri.
    -Tout d'abord, sur chaque série de nombre j'applique une fonction qui est indépendante des autres séries (celle-la ne pose aucun problème).
    -Puis, pour chaque "solution" du premier algorithme, je dois comparée la série à celles ayant déjà passé les 2 tris.

    Chaque série étant très rapide a trier (env 5 millisecondes mais il y peut avoir jusqu'à 5 000 000 série, chaque thread traite plusieurs série).

    Le deuxième tri nécessite la lecture de toutes les solutions déjà trouvées, puis dans le cas où cette série est solution, il me faut la stocker dans ce même tableau.

    Je ne connais pas la taille de mon tableau de départ (je l'alloue au fur et a mesure avec realloc). Où mettre les mutexs (en gardant le multi-threading efficace) pour que le 2eme tri s'effectue correctement ?

    Je peux vous donner le code du programme en c de base et de celui multithreadé (que pour le premier tri) si nécessaire.

  2. #2
    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
    [déplacé du forum C++]
    Citation Envoyé par NoIdea Voir le message
    Je ne connais pas la taille de mon tableau de départ (je l'alloue au fur et a mesure avec realloc). Où mettre les mutexs (en gardant le multi-threading efficace) pour que le 2eme tri s'effectue correctement
    Salut,
    Les allocs/reallocs peuvent avoir des impacts sur tes perfs.
    Où mettre le mutex ? A priori, pour protéger les écritures. Mais tu devrais regarder les pattern de type producteur/consommateur qui me semble correspondre à ce que tu veux faire.

Discussions similaires

  1. Architecture de mon algorithme: quand séparer un traitement dans un thread ?
    Par billybobbonnet dans le forum Windows Presentation Foundation
    Réponses: 42
    Dernier message: 17/10/2014, 14h59
  2. algorithme de peterson pour n threads
    Par aliouchi dans le forum Linux
    Réponses: 0
    Dernier message: 24/12/2013, 15h51
  3. [std::thread] Algorithme plus lent que en simple thread
    Par Trademark dans le forum Threads & Processus
    Réponses: 24
    Dernier message: 17/04/2013, 10h52
  4. Réponses: 46
    Dernier message: 14/03/2007, 17h47

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