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++Builder Discussion :

[PATCH] Accélérer la compilation sous BCB [Infos]


Sujet :

C++Builder

  1. #1
    Membre éprouvé
    Inscrit en
    Mars 2002
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 105
    Par défaut [PATCH] Accélérer la compilation sous BCB
    Bonjour,

    Voici une information qui pourrait être utile à tous ceux qui se plaignent de la lenteur de la compilation de l'EDI lorsque les projets deviennent imposants :
    http://groups.google.com/group/borland.public.cppbuilder.non-technical/browse_thread/thread/5abe3bfd133f745a/bdb5bc4202f91746#bdb5bc4202f91746

    From: "Andreas Hausladen" <AndreasDOTHausladen@gNOMAILmx.de>
    > Subject: BCB 6 Compiler slowness and how to speed it up dramatically
    > Newsgroups: borland.public.cppbuilder.non-technical
    > Date: Wed, 7 Dec 2005 03:36:47 +0100
    >
    >
    > While I'm improving bcc32pch I found the reason why code insight and the
    > IDE compiler are that slow.
    >
    > First the speed differences on a (3GHz HT):
    > Project: 1 datamodule and 2 forms with some buttons and 3 lines of added
    > code: Close(), Show(), Close()
    >
    > original IDE Compiler: 31.34 secs
    > After patching: 4.36 secs
    >
    > What has happend:
    > The coreide.bpl registeres some callback functions to the IDE Compiler.
    > One of these is an OpenFile callback function that is called for every
    > file opening by the compiler. But not only for existing files. The
    > compiler uses OpenFile to test if a file exists or not. During
    > compilation
    > this happens very, very, very, very, ... often. And what does the
    > coreide.bpl implementation of OpenFile do? It takes a lot of time for
    > non
    > existent files, increasing the compiletime dramatically.
    >
    > The patch is simple: Call GetFileAttributes before invoking the original
    > OpenFile implementation and return immediatelly if the file does not
    > exist. This modification has also a positive impact on the code insight.
    > The kibiz compiler also uses the OpenFile callback. Dam, is it fast now.
    > I haven't looked at Delphi's callback function yet, but I could bet
    > there
    > is the same problem even if the compiler is a lot faster *I hope this is
    > so, because then Delphi would get a speed boost in compilation and code
    > insight*
    >
    >
    > And here a statistic:
    >
    > OpenFile callback:
    > VALUE HANDLES:
    > execution time: 257.4814 ms
    > execution count: 794 (send to original OpenFile callback)
    > average exec. time: 0.324284 ms
    > INVALID_HANDLE_VALUE:
    > execution count: 7988 (catched by GetFileAttributes)
    >
    > Until I have completed the next version of my bcc32pch tool, you can
    > download a very small package that fixes this bug.
    >
    > The "IDE Compiler Speed Improvement" package can be downloaded from
    > here:
    > http://unvclx.sf.net/downloads/IDECompilerSpeedFix.zip
    > The zip files contains a precompiled package for BCB 6 and BCB 5
    > (untested) and the source code.
    >
    >
    > --
    > Regards,
    >
    > Andreas Hausladen
    Nicolas

  2. #2
    Membre émérite Avatar de 10_GOTO_10
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    890
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 890
    Par défaut
    Je serais très heureux de tester. J'ai donc téléchargé le zip, mais... Comment ça s'installe ? Il contient deux BPL, que faut-il en faire ? J'ai essayé d'installer ce composant, mais aucune différence.

  3. #3
    Membre éprouvé
    Inscrit en
    Mars 2002
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 105
    Par défaut
    Bonjour,

    Il faut l'installer comme un paquet de composants (*.bpl) ordinaire.

    Voila ce qu'on peut apprendre sur le thread du newsgroup ( http://groups.google.com/group/borland.public.cppbuilder.non-technical/browse_thread/thread/5abe3bfd133f745a/84c2667dc99b4ffe ) :

    Thanks to tips from Graham Thompson I could install the .bpl in BCB5.
    I did see nothing happen. And I could not imagine that installing
    a .bpl could influence the compiler. I still don't understand. But the
    results are amazing. My main project compiled in two minutes. I reported
    that a year ago or so. Now it contains 288 units and it compiles and links
    in about 30 seconds.
    The package uses the "initialization" section to re-initialize the
    compiler's callback functions.
    Note : pour l'instant, je ne l'ai pas testé sur un projet de taille importante, je n'ai donc pas pu constaté l'effet de ce patch. Néanmoins, de nombreuses personnes de ce newsgroup l'ont testé avec de très bons résultats.

    Nicolas

  4. #4
    Membre expérimenté
    Avatar de Djob
    Inscrit en
    Août 2002
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 215
    Par défaut
    Pas mal !

    Testé sur un projet de 55 fiches..

    compilation complete normale 2 minutes...
    compilation complete avec le fix : 45 secondes ....

  5. #5
    Membre éprouvé
    Inscrit en
    Mars 2002
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 105
    Par défaut
    Bonjour,

    L'auteur du patch a créé un site pour diffuser et améliorer son plugin :
    http://andy.jgknet.de/cpp/

    Nicolas

  6. #6
    say
    say est déconnecté
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Par défaut
    hum...c'est pas mal...mais un ou deux détail qui traîne.
    par exemple, ne compile que les fichiers enregistrés...pas forcèment super pratique.

    mais sinon c'est bien

Discussions similaires

  1. Réponses: 4
    Dernier message: 10/07/2006, 19h23
  2. problème de compilation sous XP/Centrino?
    Par RalphH dans le forum C++Builder
    Réponses: 19
    Dernier message: 23/10/2004, 16h12
  3. Syntaxe SQL sous BCB
    Par ORLIK dans le forum C++Builder
    Réponses: 2
    Dernier message: 13/10/2004, 20h47
  4. problème de compilation sous visual C++
    Par fabmili dans le forum MFC
    Réponses: 4
    Dernier message: 08/02/2004, 19h52
  5. [TP]Probleme de compilation sous TP7
    Par yffick dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 18/12/2003, 20h32

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