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

C Discussion :

Programmation fonctionnelle == programmation lente


Sujet :

C

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 67
    Points : 52
    Points
    52
    Par défaut Programmation fonctionnelle == programmation lente
    Bonjour,

    Je suis sur un projet de developpement en C avec un binome. Que ca soit lui comme moi on a un peu l'habitude developper en C. Notre projet contient plusieur niveaux :
    c'est-a-dire 6 .o avec les .h associés. ce qui est fait que nous avons un certains nombres de fonctions.

    Pendant les cours de C on a aidé pas mal nos petits camarades, et la on est en "competition" avec un autre binome que nous avons un peu aidé sur le meme projet. Au final avec mon binome apres avoir un peu optimisé notre source on a developez noter projet en essayant detre le plus rapide en sans regarder la complexité memoire...
    Nos "concurrents" ont plutot obtés pour l'inverse : optimisé la complexité memoire sans essayer detre trop rapide...mais eu ils on tout developé dans un meme fichiers (tres tres consequent et limite illisible....).

    Et au final leur algo a un bytes rate de 1.5Mo/s tandis que nous ca tourne autour de 1Mo/s.

    Alors ma question est ce que la programmation fonctionnelle dans des fichiers separé peut etre en parti la cause de cet ecart....????

    Merci a lavance.

  2. #2
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par barbsbou Voir le message
    Alors ma question est ce que la programmation fonctionnelle dans des fichiers separé peut etre en parti la cause de cet ecart....????
    Aucunement, une fois le linker passé sur les fichiers objets, tout est dans un seul fichier exécutable.
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  3. #3
    Membre expérimenté
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Points : 1 664
    Points
    1 664
    Par défaut
    Citation Envoyé par Franck.H Voir le message
    Aucunement, une fois le linker passé sur les fichiers objets, tout est dans un seul fichier exécutable.
    Si les furieux qui ont tout mis dans le meme fichier n'ont qu'une seule fonction (i.e. main()), alors ils economisent le cout des appels de fonctions. Mais c'est assez negligeable de nos jours.

    Je ne sais pas ce que veux dire "optimiser la complexite memoire", mais s'ils ont optimise l'algorithme, alors il y a de bonnes chances qu'il soit plus rapide. Mais je ne mettrais pas une bonne note a quelqu'un qui met tout le programme dans un seule unite de compilation.

  4. #4
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par DaZumba Voir le message
    Si les furieux qui ont tout mis dans le meme fichier n'ont qu'une seule fonction (i.e. main()), alors ils economisent le cout des appels de fonctions. Mais c'est assez negligeable de nos jours.

    Je ne sais pas ce que veux dire "optimiser la complexite memoire", mais s'ils ont optimise l'algorithme, alors il y a de bonnes chances qu'il soit plus rapide. Mais je ne mettrais pas une bonne note a quelqu'un qui met tout le programme dans un seule unite de compilation.
    Oui ca va de soi, économiser je ne sais combien de fonctions ca permet d'éviter au processeur de créer autant de changement de contexte etc... mais je ne sais pas si un tel écart serait vraiment visible même en procédant aussi salement que ca.

    Ils ont peut-être sans le vouloir amélioré l'algo du côté de la rapidité d'exécution
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 67
    Points : 52
    Points
    52
    Par défaut
    je vous remercie de votre reponse.

  6. #6
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 945
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 945
    Points : 5 659
    Points
    5 659
    Par défaut
    Gio,

    S'ils ont suffisamment optimisé l'utilisation mémoire, ils optimisent en partie la vitesse, car ils auront moins d'erreurs de cache pour le processeur.
    Si les cons volaient, il ferait nuit à midi.

  7. #7
    Membre expérimenté
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Points : 1 664
    Points
    1 664
    Par défaut
    Citation Envoyé par Franck.H Voir le message
    Oui ca va de soi, économiser je ne sais combien de fonctions ca permet d'éviter au processeur de créer autant de changement de contexte etc...
    Ce n'est pas un changement de contexte au sens de context switch (lorsque le CPU passe d'un processus a un autre), mais plutot une copie des arguments sur la pile (s'il y a une pile, evidemment).

    mais je ne sais pas si un tel écart serait vraiment visible même en procédant aussi salement que ca.
    L'appel de fonction a un cout, sinon les fonctions inline seraient inutiles. Mais ce n'est pas de ce cote que j'irais voir d'abord, c'est sur.

  8. #8
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 366
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 366
    Points : 20 402
    Points
    20 402
    Par défaut
    Citation Envoyé par barbsbou Voir le message
    Et au final leur algo a un bytes rate de 1.5Mo/s tandis que nous ca tourne autour de 1Mo/s.

    Alors ma question est ce que la programmation fonctionnelle dans des fichiers separé peut etre en parti la cause de cet ecart....????
    Sans code source on ne peut porter aucun jugement..
    c'est très subjectif ce que tu écris là
    Donne-nous un code source et après on pourra juger

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

Discussions similaires

  1. [Focal] Langage de programmation fonctionnelle Focal : besoin de doc
    Par djerbir dans le forum Langages fonctionnels
    Réponses: 4
    Dernier message: 14/12/2007, 23h53
  2. Débuter en programmation fonctionnelle
    Par Woufeil dans le forum Langages fonctionnels
    Réponses: 76
    Dernier message: 17/07/2007, 13h03
  3. La programmation fonctionnelle ?
    Par Gnux dans le forum Langages de programmation
    Réponses: 12
    Dernier message: 03/07/2006, 19h00
  4. Programme un peu lent
    Par gege2061 dans le forum GTK+
    Réponses: 4
    Dernier message: 08/07/2004, 17h42

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