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 :

Quel langage pour complémenter Python3 ?


Sujet :

Calcul scientifique Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Loisir
    Inscrit en
    Novembre 2011
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Loisir

    Informations forums :
    Inscription : Novembre 2011
    Messages : 159
    Par défaut Quel langage pour complémenter Python3 ?
    Bonjour à tous,

    Je travaille actuellement sur une simulation à grande échelle et Python3 commence à montrer ses limites, notamment sur les parties itératives qui ne peuvent pas se vectoriser ou se paralléliser (étonnant non ?). Je travaille énormément avec numpy, scipy, scikit-learn, matplotlib, pysal, rasterio, pandas, gdal-python, fiona, ... Principalement des modules géospatiaux.

    Je me pose aujourd'hui la question d'une approche à deux langages pour combler les faiblesses de Python3. J'ai pensé à :
    • C++ : l'historique, utile si des parties intéressantes dans ce langage existent déjà ou nécessite d'être modifiées
    • Julia : fait un peu tout, peut potentiellement remplacer aussi les parties en Python à long terme


    Peut-être ai-je manqué un langage ? Ou avez-vous des expériences qui m'orienteraient plus facilement ?

    Merci de votre point de vue.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 768
    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 768
    Par défaut
    Salut,

    Python est un langage de scripting. Il permet de réaliser rapidement des applications ou de "programmer" au dessus/avec des bibliothèques efficaces écrites dans d'autres langages plus performants.

    Si le soucis est de faire aller plus vite des parties "lentes" d'une application, d'abord on essaie de les identifier avec un "profiler", puis on réfléchit à l'algorithme, puis on remplace le morceau par du code compilé.

    Problème quand on fait çà: l'interface entre l'existant et le code compilé (et éventuellement la compatibilité côté gestion mémoire).
    C'est ce qui fait l'intérêt d'outils tels que Cython.

    Après vous pouvez aussi envisager une architecture "micro-kernel": des composants enveloppés dans des process qui peuvent s'exécuter sur des systèmes différents et un bus de communication pour les relier.

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

  3. #3
    Membre expérimenté
    Profil pro
    Loisir
    Inscrit en
    Novembre 2011
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Loisir

    Informations forums :
    Inscription : Novembre 2011
    Messages : 159
    Par défaut
    Merci wiztricks.

    La partie analyse avec un profileur est faite et le raisonnement algorithmique a été vérifiée par un collègue informaticien. Je vais déjà voir avec Cython quelles améliorations sont possibles avant d'aller voir vers le C++ sans doute.
    Je travaille dans la partie recherche d'où un développement rapide en Python3 avant une industrialisation du simulateur.

    Pour la partie "micro-kernel", je vais en discuter avec les collègues informaticiens (les vrais, je suis un amateur) qui s'y connaissent plus.

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

Discussions similaires

  1. Quel langage pour le développement embarqué ?
    Par freakydoz dans le forum Débats sur le développement - Le Best Of
    Réponses: 37
    Dernier message: 23/04/2007, 19h31
  2. Quel langage en complément du PHP pour être compétitif ?
    Par shelko dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 12/02/2007, 18h15
  3. Quel langage pour développer un logiciel de télétransmission
    Par gidebo dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 28/08/2003, 14h19
  4. quel langage pour créer des "applications" sur 1 s
    Par jaribu dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 30/07/2003, 14h06
  5. Quel langage pour un application graphique sous windows
    Par ipeteivince dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 06/06/2003, 17h00

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