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 :

python vitesse d'execution


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 72
    Par défaut python vitesse d'execution
    Bonjour,
    La vitesse des calculs en python étant relativement lente, je me demandais si pour un calcul donné, il était plus rapide de partager ce calcul dans 2 programme différents lancés simultanéments?
    je ne dois pas être très clair donc je vais donner un exemple.
    l'idée est de remplacer un programme qui fait:
    Pour i allant de a à b: (a et b étant des nombres)
    exécuter un certain nombre d'action sur i dont les résultats sont indépendants des résultats de a, a+1, a+2, z-1, z, etc

    on remplacerais ce programme par deux programmes que l'on exécuterait en même temps soit:
    Programme 1:
    Pour i allant de a à b:
    exécuter un certain nombre d'action sur i dont les résultats sont indépendants du précédent
    Programme 2:
    Pour i allant de b à z:
    exécuter un certain nombre d'action sur i dont les résultats sont indépendants du précédent

    Est-ce que cette méthode serait plus rapide? Et si oui, est-ce que la différence de temps en vaut la peine. Peut-on créer un fichier python qui exécute deux programmes en même temps ou doit utiliser un fichier bat pour cela?

    merci de votre aide et de vos réponse

  2. #2
    Membre émérite

    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 662
    Par défaut
    Salut,

    C'est effectivement possible. Il faut voir du côté de concurrent, dont il existe un backport en python 2.7 que j'utilise de temps en temps. Je me trompe peut-être, vu que jamais encore utilisé, mais le module asyncio peut peut-être répondre à ta question.

    Après il n'est pas toujours nécessaire d'employer ce genre de technique. ça dépend de ce qui est exécuter dans la boucle. Si ce sont des opérations mathématiques y'a peut-être moyen de vectoriser. Si c'est une fonction qui prend un peu de temps, peut-être aussi voir du côté de cython.

    Il y peut-être d'autres solutions possibles.

    J

  3. #3
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 72
    Par défaut
    Est ce que je peux faire l'équivalent de concurrent futures mais manuellement donc en exécutant moi même plusieurs programmes en même temps. Et si je le fais quel sera l'ordre de grandeur de temps gagné?

  4. #4
    Membre émérite

    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 662
    Par défaut
    Oui on peut lancer plusieurs programmes/scripts en parallèle depuis un unique programme en utilisant par exemple subprocess. Mais il faudra alors gérer à la main la récupération des résultats (si résultats il y a) de chaque process. De plus il faudra faire en sorte de ne pas lancer 1000 processus en même temps, mais s'assurer de ne pas dépasser un nombre fixe, et donc implémenter un genre de liste d'attente. En gros réinventer un peu la roue.

  5. #5
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 72
    Par défaut
    d'accord merci beaucoup je vais regarder ça. combien de processus simultanés pourrait supporter un ordinateur standard?

  6. #6
    Membre émérite

    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 662
    Par défaut
    Citation Envoyé par stinng Voir le message
    combien de processus simultanés pourrait supporter un ordinateur standard?
    Aucune idée. Tout dépend de la charge CPU d'un seul processus.

  7. #7
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 72
    Par défaut
    d'accord merci beaucoup pour votre aide.
    je vais me renseigner et surtout essayer et je vous redirez.

Discussions similaires

  1. vitesse d'execution Sql server 2005
    Par Erwan56 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 30/01/2007, 14h37
  2. Problème de vitesse d'execution
    Par Samyhijodelaluna dans le forum MFC
    Réponses: 31
    Dernier message: 17/05/2006, 11h41
  3. Réponses: 3
    Dernier message: 16/10/2005, 13h43
  4. [Language]Calculer Vitesse d'execution
    Par schneiderj dans le forum Langage
    Réponses: 12
    Dernier message: 27/04/2005, 20h43
  5. vitesse d'execution
    Par bakonu dans le forum OpenGL
    Réponses: 15
    Dernier message: 07/05/2004, 11h18

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