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

Calcul scientifique Python Discussion :

pyscheme peut-il me faire gagner du temps de calcul?


Sujet :

Calcul scientifique Python

  1. #1
    Membre régulier Avatar de Mydriaze
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 192
    Points : 95
    Points
    95
    Par défaut pyscheme peut-il me faire gagner du temps de calcul?
    Bonjour à tous,

    Je voudrais utiliser pyscheme pour tout ce qui est calculs scientifiques dans mes scripts python pour gagner en vitesse.

    Numpy est beaucoup trop lent.
    Normalement on utilise du C pour les parties calculs mais je ne l'ai pas appris.

    Que pensez vous de pyscheme? Est ce que je ne perds pas plus de temps en appelant le module que je n'en gagne en lui faisant executer mes calculs? (ce sont des calculs de distance entre matrices 16x16 donc assez simples mais relativement long car reitérés de nombreuses fois)

    Merci par avance pour votre avis

  2. #2
    Membre chevronné

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Points : 1 752
    Points
    1 752
    Par défaut
    Bonsoir,
    Citation Envoyé par Mydriaze Voir le message
    Numpy est beaucoup trop lent.
    Oui et non. J'ai lu plusieurs articles qui expliquaient que numpy doit être utilisé avec prudence pour avoir un résultat optimum. Si je me souviens bien, on parlait de vectorisation des calculs.

    Citation Envoyé par Mydriaze Voir le message
    ce sont des calculs de distance entre matrices 16x16 donc assez simples mais relativement long car reitérés de nombreuses fois
    Peut-être que la lenteur vient de là... Utilises-tu des boucles Python ?

    Je caricature mais par exemple lire un tableau numpy via Python qui lui élèvera par exemple au carré les entrées pour obtenir le tableau carré sera forcément lent étant donné qu'on ne fait appel à numpy que pour stocker les données et non pour les manipuler.

    Tu pourrais poster un code ici et des personnes plus avisées que moi pourraient peut-être t'indiquer une méthode efficace.

  3. #3
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Tout à fait, il faut que tu vectorises à fond. Si tu ne fais que des distances entre matrices 16x16, il y a sans doute moyen de vectoriser.

    Après, si tu veux vraiment mettre un peu les mains dans le cambouis, c'est :
    - Cython
    - Numpexpr

    pyscheme ne sera, à mon avis, pas plus rapide que numpy car il ne permet pas de passer par des fonctions de calcul C/Fortran/C++.

  4. #4
    Membre régulier Avatar de Mydriaze
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 192
    Points : 95
    Points
    95
    Par défaut
    Euh... oui mais non....
    C'etait pas ma question

    Désolée je me suis mal exprimée.

    En fait, le probleme vient de la compilation.
    D'apres ce que j'ai compris.
    Tous les langages compilés vont beaucoup plus vite que les non compilés ou les semi compilés comme python.
    http://norvig.com/python-lisp.html

    Ce que les etudiants avant moi ont fait sur ce projet, ce sont des scripts C, compilés et importés dans les scripts python.

    Mes matrices, ce sont le resultat de calculs issus de scripts C, et ensuite je fais des calculs de distances dessus.

    je compare chaque matrice à toutes les autres.
    Donc ça se fait dans des boucles.
    Et ça represente des milions de calculs.
    Mon nombre de matrice evolue de façon exponentielle avec le temps.

    Ce que je cherche à faire , ce sont des scripts compilables en scheme (c'est un dialecte de lisp), pour faire les calculs et les importer dans les scripts python ...
    Mais effectivement, comme pyscheme n'est qu'un interpreteur... ça ne va pas le faire .... Il faudrait trouver quelque chose qui passe les fonction scheme...

    Je vais regarder pour - Cython et Numpexpr , voir comment ça marche...

    Merci pour l'aide en tout cas !

Discussions similaires

  1. Peut t'on faire une procedure stocké sur access ?
    Par Solero dans le forum Access
    Réponses: 6
    Dernier message: 28/01/2019, 10h33
  2. Faire patienter le temps des calculs
    Par Norore dans le forum Web
    Réponses: 3
    Dernier message: 04/03/2011, 10h39
  3. Réponses: 2
    Dernier message: 11/08/2010, 13h32
  4. [UML] Que peut-on vraiment faire avec ces logiciels ?
    Par pugnator dans le forum Outils
    Réponses: 6
    Dernier message: 07/12/2005, 11h31

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