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

EDI Delphi Discussion :

Questions sur la compilation


Sujet :

EDI Delphi

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Février 2008
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 141
    Points : 142
    Points
    142
    Par défaut Questions sur la compilation
    J'ai quelques questions sur la compilation de code Delphi depuis l'IDE Borland Delphi. Je travaille sous BDS 2006, mais ça m'intéresse aussi de savoir ce que fait BDS 2007.

    * Est-ce qu'on peut demander depuis l'IDE de ne compiler qu'une seule unité, et pas tout le projet?

    * La commande "Compiler" -qui n'est censée recompiler que les fichiers modifiés, ou alors j'ai mal compris?- a parfois des performances assez surprenantes par rapport à "Construire": il m'est arrivé (sous BDS 2006) de voir un "Compiler" prendre 10 fois plus de temps qu'un "Construire".
    Y a-t-il des options critiques? des particularités auxquelles il faut faire attention dans la mise en forme du code? Est-ce que BDS 2007 s'en sort mieux?

    * Un certain nombre de fonctionnalités de l'IDE et du compilateur dépendent du dpr du projet en cours. Le fait que les unités soirent déclarées dans le bon ordre dans le dpr par exemple influe sur le temps de compilation et sur la rapidité des recherches de références ou autres. Est-ce qu'il existe des outils standards (Borland ou GExpert ou autres - j'ai cherché un peu et je n'ai pas trouvé) pour rafraichir ce fameux fichier dpr après qu'on a modifié/ajouté/supprimmé des fichiers sources du projet? Est-ce que quelqu'un sait quelles sont les règles à respecter pour avoir un "bon" dpr?

    En attendant d'autres questions....
    Merci d'avance pour vos réponses.

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 457
    Points
    28 457
    Par défaut
    je n'ai pas constaté ce genre de chose sous Delphi 6

    petite question, 10 fois plus longtemps ok, mais c'est quoi le temps de base ?

    je me souviens avoir lu un article d'un développer C++ qui testait Delphi pour la première fois. Il a relancé plusieurs fois la compilation en se demandant ce qui n'allait pas avant de se rendre compte que sous Delphi, la compilation d'un projet de base est instantannée

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Février 2008
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 141
    Points : 142
    Points
    142
    Par défaut
    Il s'agit d'un énorme projet, qui contient le code de toutes ses librairies et autres. Le compilateur annonce 2,7M lignes de code compilées à la fin de la compilation.
    Le temps de base d'une constructiuon est de 3-4 minutes (ça, je dois dire que le compilateur de borland est rapide), et il m'est arrivé de voir la commande "Compiler" ramer pendant 30+ minutes à résoudre ses dépendances (enfin... je pense que c'est ça...).

    Vue la rapidité du compilateur en mode brutal, les performances de la recompilation m'étonnent beaucoup. C'est vrai que je n'ai jamais essayé de faire compiler un truc aussi gros à Visual Studio, mais VS m'avait tout de même l'air de mieux gérer ses dépendances, sans avoir à prendre en entrée de dpr explicite.

  4. #4
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 457
    Points
    28 457
    Par défaut
    Citation Envoyé par LeGEC Voir le message
    Il s'agit d'un énorme projet, qui contient le code de toutes ses librairies et autres. Le compilateur annonce 2,7M lignes de code compilées à la fin de la compilation.
    Le temps de base d'une constructiuon est de 3-4 minutes (ça, je dois dire que le compilateur de borland est rapide), et il m'est arrivé de voir la commande "Compiler" ramer pendant 30+ minutes à résoudre ses dépendances (enfin... je pense que c'est ça...).

    Vue la rapidité du compilateur en mode brutal, les performances de la recompilation m'étonnent beaucoup. C'est vrai que je n'ai jamais essayé de faire compiler un truc aussi gros à Visual Studio, mais VS m'avait tout de même l'air de mieux gérer ses dépendances, sans avoir à prendre en entrée de dpr explicite.
    alors pour moi le DPR n'intervient pas.

    quand tu crées une unité, elle est compilée une fois pour toute...elle sera recompilée dans deux cas de figures :
    1- tu la modifies
    2- tu modifies une unité qu'elle utilise

    en ce sens, le DPR ne fait que donner le point d'entrée de l'application (avec éventuellemetn du code à ce niveau aussi) mais peu importe ses uses, si les unités n'ont pas être recompilées, c'est le .DCU précompilé qui est utilisé.

    ceci dit je n'ai jamais travaillé sur des projets aussi gros, et je n'ai jamais eu à me poser de questions que l'organisation des unités. Mais je ne pense pas que j'aurais accepté un temps de compilation de plus de quelques minutes. Quitte à découper mon projet en plusieurs dll si nécessaire...ou à explorer la conception par paquet dont je n'ai jamais eu besoin. Il doit être possible de regrouper des éléments de ton projet dans des paquets, même si la compilation finale est monolithique non ?

    NB: en lisant les nouveautés 2006, je remarque cependant que le mot clé "inline" change un peu la donne.

    Le truc le plus lourd que j'ai eu à compiler en C...c'est un noyau linux, ben faut pas être pressé

Discussions similaires

  1. Question sur la compilation d'un projet
    Par miniduff dans le forum Langage
    Réponses: 2
    Dernier message: 03/06/2010, 01h44
  2. Question sur la compilation des classes
    Par azerty.123.450 dans le forum Visual Studio
    Réponses: 3
    Dernier message: 26/02/2010, 16h32
  3. question sur la compilation d'un projet
    Par eric_vi dans le forum Qt
    Réponses: 1
    Dernier message: 10/01/2010, 20h55
  4. Questions sur la compilation Kernel sous Ubuntu
    Par jaymzwise dans le forum Administration système
    Réponses: 2
    Dernier message: 12/03/2008, 16h29
  5. [Tomcat] question sur la compilation des Jsp
    Par Invité dans le forum Tomcat et TomEE
    Réponses: 9
    Dernier message: 01/06/2006, 11h29

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