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

Langages de programmation Discussion :

Plusieurs sous-programmes ou un programme avec plein de conditions ?


Sujet :

Langages de programmation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2007
    Messages : 245
    Par défaut Plusieurs sous-programmes ou un programme avec plein de conditions ?
    Juste une question d'ordre generale sur la conception d'un programme

    j'ai pour le moment fait plusieurs programme qui se ressemble pas mal et je me demandais si au lieu d'appeler a chaque fois un programme different je ferais pas mieux d'appeler tous le temps le meme programme et mais des choix, genre je met une variable d'entree en plus en appelant le programme, cette variable c'est choix

    et je fais if choix eq "tant" , j'execute telles lignes, if choix eq .... telles autres lignes

    je voudrait en fait savoir si ca change quelque chose au niveau des ressources du pc ou pas

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    moins d'overhead (dû au moindre temps de chargmement du prog en mémoire), mais plus de mémoire utilisée..

    Tout dépend du prog.

    En général beaucoup mieux un seul prog, sauf si les fonctionalités sont vraiment disjointes...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2007
    Messages : 245
    Par défaut
    en fait j'ai deja beaucoup de memoire utilise vu que je travaille sur des series de matrices de 120 millions d'elements, apres interpolations (a la base il y en a 40 millions)

    le programme, apres interpolation, se resume en gros a des boucles sur les elements et a des series de tests sur leur valeur, sur des gradients locaux, et a du "coloriage" si les test sont concluant, pour finir par afficher ces images coloriees

    les fonctionalites sont assez proches


    je pars donc sur un seul programme ?
    (j'ai du mal a evaluer ce qu'est "beaucoup" de memoire utilisee)

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    ne pas confondre aussi taille du programme et taille des données...

    Tout dépend encore une fois.. C'est à toi de peser le pour et le contre...

    Mais tu peux aussi faire un peu un système de DLL...

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2007
    Messages : 245
    Par défaut
    qu'est ce qu'un systeme de dll ?

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Dynamically Linked Library

    Voir

    http://fr.wikipedia.org/wiki/Dll

    http://www.linux-france.org/prj/jargonf/D/DLL.html

    Avec extension .dll sous Windows, .so sous systèmes unixoides.

    En gros, c'est une biblothèque de fonctions comme une autre, sauf que, à l'édition de liens, au lieu de copier le code compilé dans le binaire (ce qui se passe avec une bibliothèque normale), on copie l'adresse PHYSIQUE de la fonction.

    Avantage : le binaire est moins gros..

    Inconvénients :
    1) le binaire n'est plus autonome (il faut toujours fournir la bibliothèque)
    2) il doit toujours être à la même place physique (même répertoire/sous-répertoire/etc..)

  7. #7
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Citation Envoyé par svagrim
    Juste une question d'ordre generale sur la conception d'un programme

    j'ai pour le moment fait plusieurs programme qui se ressemble pas mal et je me demandais si au lieu d'appeler a chaque fois un programme different je ferais pas mieux d'appeler tous le temps le meme programme et mais des choix, genre je met une variable d'entree en plus en appelant le programme, cette variable c'est choix

    et je fais if choix eq "tant" , j'execute telles lignes, if choix eq .... telles autres lignes

    je voudrait en fait savoir si ca change quelque chose au niveau des ressources du pc ou pas
    Généralement si ces programmes se ressemblent vraiment, c'est probablement que tu as loupé quelque part une occasion de factoriser du code, de sorte que soit tu puisses remplacer ce programme par un seul prenant des arguments, soit tu puisses mettre l'essentiel des programmes dans quelques fonctions d'une de tes bibliothèques, de sorte que les sources des programmes deviennent très court et ne contiennent plus que les différences entre eux.

    --
    Jedaï

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2007
    Messages : 245
    Par défaut
    si les programmes se ressemblent vraiment et que je n'ai pas factorise, c'est en grande partie pour plus de simpliciter lors du developpement, et parce que certaine fois la factorisation ne me fait pas eviter grand chose par rapport a ce qui change (meme si ca reste dans le meme esprit)

    le fait est que je peux, si je veux vraiment et en y passant du temps, mieux facoriser pour faire moins de programme, mais avec plus d'arguments.

    Je me demande juste si ca avait vraiment un interet, c'est a dire si ca avait vraiment un impacte sur la vitesse du programme, sur le stockage de memoire

    le truc est que je gere pas vraiment l'info et que je sais pas si la difficulte et le temps que je vais y passe vont apporter quelque chose de suffisament interessant par rapport aux experiences que j'ai a realiser

    je vais essaye ce qui m'a ete dit dans le forum
    et on verra bien ce que ca donne

    si apres on me dit que ca ne changera pas grand chose, je pousse pas les recherches plus loin

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

Discussions similaires

  1. programmer plusieurs PIn d'entrées sur labview avec arduino
    Par chakibcubee dans le forum LabVIEW
    Réponses: 0
    Dernier message: 24/02/2015, 18h33
  2. Réponses: 1
    Dernier message: 02/12/2014, 13h39
  3. Réponses: 2
    Dernier message: 10/06/2009, 14h08
  4. Réunir plusieurs sous programme
    Par lexxor dans le forum C
    Réponses: 3
    Dernier message: 27/03/2009, 00h32
  5. Réponses: 2
    Dernier message: 14/01/2004, 17h21

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