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

Python Discussion :

Multithread pour débutant [Python3]


Sujet :

Python

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2017
    Messages : 31
    Points : 25
    Points
    25
    Par défaut Multithread pour débutant [Python3]
    bonjour à tous,


    Je fais appel à vous pour avoir des infos sur le multithreaing (ou toute foncitionnalité pouvant répondre à mon problème).

    Pour faire simple, j'ai un gros fichier texte que je peux splitter en phrases du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ["J'adore python", "il fait beau", "python c'est trop bien"...]
    J'ai une fonction "cherchePython" qui prend en entrée la liste précédente et renvoie un dictionnaire où la clé est le numéro de la phrase et la valeur est la position du mot "python".
    Ici par exemple, j'ai le mot "python" en 3e position de la 1ère phrase. Le résultat final serait donc :

    Mon problème c'est que comme je traite chaque phrase sucessivement, ça va me prendre un temps fou (3 jours...)

    J'ai vu que le multithreading pourrait m'être utile mais je ne comprends pas comment ça s'utilise pour lancer ma fonction "cherchePython" sur chaque phrase séparément en actualisant le dictionnaire en parallèle.

    Merci d'avance pour vos conseils éclairés !

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Citation Envoyé par gingko41 Voir le message
    J'ai vu que le multithreading pourrait m'être utile mais je ne comprends pas comment ça s'utilise pour lancer ma fonction "cherchePython" sur chaque phrase séparément en actualisant le dictionnaire en parallèle.
    Ben vous avez (par exemple):
    1. un thread qui lit le fichier et qui poste les phrases avec leur numéro de ligne dans une Queue.
    2. n-threads qu vident la Queue pour trouver "python" (ou pas), fabriquer les informations à insérer dans le dico et les poster dans une autre Queue.
    3. Puis un dernier thread qui récupère les informations et qui les entre dans le dictionnaire.

    Tout çà pour dire que c'est d'abord une organisation des flux d'informations et la définition des différentes activités effectuées par les différents threads en espérant que le résultat soit plus rapide (ce qui n'est pas si évident que çà avec Python). Donc c'est un sujet de conception plus qu'un soucis de programmation (les bibliothèques threading et queue vous donnant des exemples assez bons pour commencer).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2017
    Messages : 31
    Points : 25
    Points
    25
    Par défaut
    Merci Wiztricks,

    je regarderai les librairies mentionnées.
    J'espérais que ce serait la solution miracle en rapidité mais visiblement ce n'est pas garanti. Dommage !

    Bonne soirée

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Python peut aisément parser 50.000 lignes de texte en faisant trois comparaisons sur chacune d'elles en 8 centièmes de seconde (0.076441 sec.).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. MultiThread pour débutant?
    Par Rayfloyd dans le forum Débuter
    Réponses: 6
    Dernier message: 31/05/2011, 11h46
  2. Programmation multithread pour débutant
    Par oodini dans le forum C++
    Réponses: 5
    Dernier message: 07/03/2008, 14h14
  3. aide petit programme pour débutant
    Par kartp0rqx dans le forum C
    Réponses: 16
    Dernier message: 14/10/2005, 19h31
  4. Aide pour débutant : addition
    Par playentry dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 13/03/2005, 19h08

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