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 :

conseil pour améliorer les perfos


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de awalter1
    Inscrit en
    Août 2004
    Messages
    994
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 994
    Par défaut conseil pour améliorer les perfos
    Bonjour,
    je me pose souvent la même question pour l'amélioration des perfos.
    Voici un cas concret : je manipule des points (environ 300), dont j'ai les coordonnées lat/long (ex : 0102N03,00412W09), j'ai souvent des conversions à faire pour les transformer en x,y (c'est pas très compliqué : deg*3600+min*60+sec ...)
    Je me demande si c'est plus rapide de créer un dictionnaire avec en clé la latitude (ou longitude) pour retrouver le x (ou y) directement au lieu de le recalculer à chaque besoin
    Une expérience sur le sujet ?
    Merci

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Je pense qu'on pourrait utiliser un générateur pour afficher les 300 chaînes tour à tour, mais 300 n'est pas un chiffre énorme, donc je sais pas si il y a vraiment d'intérêt surtout que le traitement n'est pas très calculatoire.

  3. #3
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    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 738
    Par défaut
    je manipule des points (environ 300), dont j'ai les coordonnées lat/long (ex : 0102N03,00412W09), j'ai souvent des conversions à faire pour les transformer en x,y (c'est pas très compliqué : deg*3600+min*60+sec ...)
    Il faut essayer.
    Le plus simple étant de passer par un defaultdict "custom" qui "memoize" les transformations.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    class memo(dict):
         def __missing__(self, coord):
              d, m, s = f(coord) # la récupération des "int"
              self[coord] = (d, m, s)
              return (d, m, s)
    Un autre sujet est d'améliorer l'abstraction de Point pour qu'ils aient un x, y construit à la création et utilisé par le programme en interne.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Membre éprouvé Avatar de awalter1
    Inscrit en
    Août 2004
    Messages
    994
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 994
    Par défaut
    En effet, calculer le x,y lors de la création d'un point et le garder dans sa définition me semble une bonne alternative.

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    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 738
    Par défaut
    Citation Envoyé par awalter1 Voir le message
    En effet, calculer le x,y lors de la création d'un point et le garder dans sa définition me semble une bonne alternative.
    Améliorer l'abstraction de Point n'est pas contradictoire avec un "memoize" du calcul de la transformation str => (d, m, s).
    Comme cela se passe "derrière" la création de l'instance, vous pourrez toujours le réaliser plus tard sans affecter les "utilisateurs"/"utilisations" des Point"s.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Membre éprouvé Avatar de awalter1
    Inscrit en
    Août 2004
    Messages
    994
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 994
    Par défaut
    merci de votre participation

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

Discussions similaires

  1. [Info] Conseils pour gérer les ressources
    Par calogerogigante dans le forum Eclipse Java
    Réponses: 10
    Dernier message: 05/07/2009, 12h49
  2. Réponses: 7
    Dernier message: 26/05/2008, 00h05
  3. Réponses: 5
    Dernier message: 09/02/2008, 20h05
  4. Conseils pour améliorer ma fonction
    Par Sergio29 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 22/11/2007, 16h50
  5. Optimisation de jsp pour améliorer les performances
    Par djuddju dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 01/12/2006, 05h50

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