Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1401 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

Visual .Net 2001 ou 2003 ?

n°908583
HelloWorld
Salut tout le monde!
Posté le 26-11-2004 à 15:32:50  profilanswer
 

Reprise du message précédent :
Au boulot c'est ce que j'ai, je ne vois aucune concession.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
mood
Publicité
Posté le 26-11-2004 à 15:32:50  profilanswer
 

n°908796
Panini
Posté le 26-11-2004 à 20:16:31  profilanswer
 

leander a écrit :

Pour la désactiver (task list et auto select), c'est dans la version que dans 2003 ou aussi dans la 2001 (parce qu'il me semblait avoir chercher sur la 2001) ?
...


 
Plus précisément c'est dans options/environnement/project & solution.
Décochez track active item in solution list
Décochez display task list when build is finished.
C'est quelque chose comme ça. Et je ne sais plus si ça existe dans .NET 2001.
 
Sinon tes temps de compilation me parraissent pas trop mal vu le nombre de fichiers. Les precompiled marchent très bien, il faut juste prendre soin d'y mettre des headers rarement modifiés. Tu peux aussi tester les directives d'inclusion avant de faire l'include. Cela dit, si incredibuild n'est plus bugué, pas de raison de s'en priver :o.
 
edit: ortho.


Message édité par Panini le 27-11-2004 à 11:21:55
n°908811
HelloWorld
Salut tout le monde!
Posté le 26-11-2004 à 20:46:29  profilanswer
 

Citation :

Tu peux aussi tester les directive d'incluse avant de faire l'include


c.a.d ?


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°908848
Lam's
Profil: bas.
Posté le 26-11-2004 à 21:48:38  profilanswer
 

Panini a écrit :

Cela dit, si incredibuild n'est plus bugué, pas de raison de s'en priver :o.


 
Xoreax est très réactif, et ils nous ont toujours aidé à régler tous nos problèmes (même en période d'éval). Donc je ne pense pas qu'il y ait de gros bugs rédhibitoires. Par contre il y a pas mal de trucs non documentés.  
 
On avait quand mêle un petit million de lignes, avec 8-10h de compil pour le tout...

n°909060
Panini
Posté le 27-11-2004 à 11:20:31  profilanswer
 

HelloWorld a écrit :

Citation :

Tu peux aussi tester les directive d'incluse avant de faire l'include


c.a.d ?


Code :
  1. #ifndef MY_INCLUDE_H
  2.     #include "MyInclude.h"
  3. #endif


 
T'économises le temps d'ouverture / fermeture du fichier si l'include a déjà été fait.

n°909104
Taz
bisounours-codeur
Posté le 27-11-2004 à 12:43:10  profilanswer
 

ridicule ...

n°909117
Panini
Posté le 27-11-2004 à 13:50:00  profilanswer
 

testé et approuvé par un collègue sous VC 6. J'ai pas fait de tests avancés sous VC.NET.
 
[edit] c'était peut-être codewarrior et non vc6, je ne me rappelle plus et ça remonte à ~4 ans.


Message édité par Panini le 27-11-2004 à 13:51:45
n°909119
Lam's
Profil: bas.
Posté le 27-11-2004 à 13:51:18  profilanswer
 

Et ton collègue, sa religion lui interdit aussi de faire des "#pragma once" ?


Message édité par Lam's le 27-11-2004 à 13:51:34
n°909125
Panini
Posté le 27-11-2004 à 14:03:56  profilanswer
 

Aucune idée. C'est vrai que c'est plus lisible mais ce pragma n'est ou n'était pas supporté partout.

n°909194
leander
Posté le 27-11-2004 à 16:53:29  profilanswer
 

Le pragma once n'est pas encore supporté dans codewarrior. En tout cas, pas dans la version PS2 3.6 que l'on utilise.
Euh si... elle est peut etre supporté, mais il me semble qu'il y a un bug grossier (genre le compilo regarde que le nom du fichier et pas le chemin complet ou un truc dans le genre).
 
Sinon, pour faire des PCH, ça marche bien pour windows.h. Mais malheureusement, c'est majoritairement le code de nos .h qui ralentisse la compilation. Et comme on les modifie régulièrement... Des fois, je me demande si les commentaires dans les .h ne ralentissent pas la compil/preprocess (en gros chez nous, c'est 50% du poids des fichiers).
 
En tout cas, pour IncrediBuild je le trouve très bien à l'exception du "Update depedencies" qui est très long dans la version 1.31. Mais on va surement passer à la v2.20 qui à l'air plus rapide à ce niveau.
Par contre, c'est vrai qu'il est un peu cher.
 
Et sinon, pour Panini, dans la version 2001, j'ai trouvé uniquement "display task list when build is finished" (j'avais pas bien cherché apparement). Mais lorsque je fais F4, visual m'ouvre toujours la liste des taches pour indiquer les erreurs.

mood
Publicité
Posté le 27-11-2004 à 16:53:29  profilanswer
 

n°909298
HelloWorld
Salut tout le monde!
Posté le 27-11-2004 à 19:41:00  profilanswer
 

Tiens, ça me fait penser à un mec qui parlait de son expérience dans l'enseignement de la programmation à des débutants. Donc tjrs pareil il explique puis des doigts se lèvent "ça marche pas". Entre autre, il tombe sur un mec qui avait commenté tout son code. "Ben ça compile beaucoup plus vite comme ça!"
Sinon ca coute combien IncrediBuild ?


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°909311
Taz
bisounours-codeur
Posté le 27-11-2004 à 19:57:55  profilanswer
 

Leander a écrit :


Sinon, pour faire des PCH, ça marche bien pour windows.h. Mais malheureusement, c'est majoritairement le code de nos .h qui ralentisse la compilation. Et comme on les modifie régulièrement... Des fois, je me demande si les commentaires dans les .h ne ralentissent pas la compil/preprocess (en gros chez nous, c'est 50% du poids des fichiers).

Nan, c'est toi qui a une mauvaise politique d'inclusion et de développement.
 
Perso j'ai pas de PCH, mais des outils comme ccache me file un bon coup de booster

n°909379
Lam's
Profil: bas.
Posté le 27-11-2004 à 23:33:12  profilanswer
 

HelloWorld a écrit :


Sinon ca coute combien IncrediBuild ?


 
300$. C'est peanuts quand tu considères le gain de productivité que tu as   sur des gros projets.

n°909410
leander
Posté le 28-11-2004 à 00:05:57  profilanswer
 

HelloWorld a écrit :

Tiens, ça me fait penser à un mec qui parlait de son expérience dans l'enseignement de la programmation à des débutants. Donc tjrs pareil il explique puis des doigts se lèvent "ça marche pas". Entre autre, il tombe sur un mec qui avait commenté tout son code. "Ben ça compile beaucoup plus vite comme ça!"
Sinon ca coute combien IncrediBuild ?


 
C'est juste une anecdote ou il y a une réponse cachée à ma discrete question méthaphysque sur l'influence des commentaires sur les temps de compil. Parce que si c'est une réponse, je n'ai pas compris (je préfère demander, plutot que de mal interpréter) ce que tu voulais dire.
 
Pour le cout, c'est 300$ pour chaque poste sur lequel il est installé. Une licence, c'est autant un poste qui t'aide à compiler, qu'un poste qui fait de la compil avec IndrediBuild (cf le site web : www.xoreax.com ).
 
Taz: Nan, c'est toi qui a une mauvaise politique d'inclusion et de développement.
 
Ben peut etre. Je me suis souvent poser la question de comment gagner du temps. J'ai essayer plusieurs pistes, mais j'ai pas trouvé de pistes géniales qui change significativement le temps de compil.
En tout cas, si tu veux expliquer la bonne politique d'inclusion je suis très très très interessé (et surement pas le seul).
 
Taz: Perso j'ai pas de PCH, mais des outils comme ccache me file un bon coup de booster
 
Ca fait gagner bcp de temps ? Ca marche comment cet outil ? Il s'intégre dans Visual ?
 
Edit: mise en page


Message édité par leander le 28-11-2004 à 00:07:37
n°909412
Taz
bisounours-codeur
Posté le 28-11-2004 à 00:07:27  profilanswer
 

ben y a plein de techniques pour minimiser les dépendances de compilation. Les deux plus connues :  
- chesire cat / pimpl
- forward declration

n°909587
leander
Posté le 28-11-2004 à 12:58:19  profilanswer
 

Taz a écrit :

ben y a plein de techniques pour minimiser les dépendances de compilation. Les deux plus connues :  
- chesire cat / pimpl
- forward declration


 
Je ne connaissais pas les deux techniques de nom. En faisant une recherche sur le web, j'ai trouvé la définition des 2 méthodes, qui ne m'était pas inconnue en fait.
Toutes les deux sont basées sur la réduction des dépendances afin de réduire les temps de compilations (fichier à compiler plus petit) et tout aussi important, le nombre de fichier à recompiler en moyenne lorsque l'on modifie du code.
 
La 2ème technique est en effet très bien, et on l'utilise depuis très longtemps (sans savoir qu'elle avait un nom). Elle n'a que très peu d'inconvénient lorsque l'on peut l'utiliser. Le plus gros à mes yeux est peut être celui qui empêche de faire des fonctions inlines qui accèdent aux classes uniquement déclarées.
Voici un petit exemple pour ceux, qui comme moi, ne connaissait pas le nom de la technique cachée derrière "forward declaration" :

Code :
  1. //----------------
  2. // Fichier A.h
  3. class B;  // On déclare juste la class B sans inclure le .h  
  4.           // -> gain de temps à la compilation
  5. class A :
  6. {
  7. ....
  8. protected:
  9.    B*       m_pAccesToB;
  10. };
  11. //----------------
  12. // Fichier B.h
  13. class A;  // On déclare juste la class A sans inclure le .h  
  14. class B :
  15. {
  16. ....
  17. protected:
  18.    A*       m_pAccesToA;
  19. };


 
Pour la 1ère méthode, "pimpl" pour Protected Implementation, je ne connaissais pas le nom. Mais par contre, je connaissais le principe sans jamais l'avoir vraiment essayé.
Voici un petit exemple très simple pour illustrer la technique :

Code :
  1. // Dans A.h
  2. // Pas d'inclusion d'autre fichier, car il n'y a pas d'attributs
  3. class A :
  4. {
  5.    A();
  6.    ~A();
  7.    void MakeAction();
  8. protected :
  9.    class PImpl_A;
  10.  
  11.    // Ici, on a juste un pointeur sur la classe qui contiendra tous
  12.    // les attributs vraiment utilisées par les fonctions
  13.    PImpl_A*   m_pPImplA;
  14. };
  15. // Dans des cpp ou d'autres .h
  16. class A::PImpl_A
  17. {
  18.     void MakeAction();
  19. protected:
  20.    // Les attributs
  21. };
  22. A::A()
  23. {
  24.    m_pPImplA = new PImpl_A;
  25. }
  26. A::MakeAction()
  27. {
  28.    m_pPImplA->MakeAction();
  29. }


Je trouve que l'idée est vraiment très interessante et très bien pour faire réduire le temps de compilation et les dépendances.
Mais globalement je trouve que les inconvénients sont trop forts : Lisibilité du code moindre, duplication de la déclaration des fonctions, multiplication du nombre de classe (et donc de .h et .cpp), etc...
Bref, j'ai l'impression de faire une usine à gaz (le terme est surement un peu trop fort) pour réduire mes temps de compilation. Hors, ce qui m'importe avant tout, c'est la facilité de lecture, maintenance et d'organisation du code.
 
Mais peut etre que quelqu'un qui utilise cette technique tous les jours me donnera des arguments contraires. En tout cas, je suis preneur.
 
Leander

n°909589
chrisbk
-
Posté le 28-11-2004 à 13:01:16  profilanswer
 

le pimpl m'a pas l'air terrible. les forward decl j'en fais un usage massif, mais j'ai pas l'impression que l'on puisse "forward déclaré" une inner class ? (genre class prout::toto) ?

n°909593
Taz
bisounours-codeur
Posté le 28-11-2004 à 13:02:40  profilanswer
 

tu dupliques rien du tout : le cheshire cat, c'est avant tout une méthode pour planquer des choses. Ça t'as jamais troué le cul que les membres privé soit déclarés publiquement ?

n°909597
masklinn
í dag viðrar vel til loftárása
Posté le 28-11-2004 à 13:07:09  profilanswer
 

Lam's a écrit :

300$. C'est peanuts quand tu considères le gain de productivité que tu as   sur des gros projets.


Surtout quand t'as plein de machines de secrétaires idle 95% du temps à ta dispo, hein lam's :whistle:


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°909851
gilou
Modérateur
Modzilla
Posté le 28-11-2004 à 22:11:56  profilanswer
 

Incredibuild,  

Citation :

IncrediBuild distributes compilation tasks across available machines in an organization network, thus effectively reducing compilation time to a fraction of its original duration


il y a plus de 10 ans, on avait concocté un truc dans le genre a coup de batchs, pour partager nos compilos sous windows 95 dans ma boite (des compilos C/C++ metaware). Ca avait pris qques heures a un des devellopeurs a concocter. c'etait assez bousin (on utilisait un disque unix partage par toute les becanes par pc-nfs il me semble comme zone de passage de message si mes souvenirs sont bons). C'etait assez efficace.
Mais bon, ca demandait d'avoir exactement le meme environnement de compil entre tous les postes. Si un compilo etait patché, il fallait qu'il en soit de meme des autres sinon pb...
A+,


Message édité par gilou le 28-11-2004 à 22:12:28

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°909854
Taz
bisounours-codeur
Posté le 28-11-2004 à 22:14:30  profilanswer
 

sinon y a distcc qui est enfantin à utiliser et gratos

n°909857
gilou
Modérateur
Modzilla
Posté le 28-11-2004 à 22:16:51  profilanswer
 

Par experience j'ai constate que la compilation sur un monoposte est largement boostée si ca tourne sur un bi-proc. Mais c'est plus cher...
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°909861
Taz
bisounours-codeur
Posté le 28-11-2004 à 22:19:22  profilanswer
 

ben c'est normal, la compilation, c'est assez lié aux E/S
déjà si tu lances la compilation de plusieurs unités simultanément, tu augmentes fortement l'utilisation de ton CPU

n°910289
leander
Posté le 29-11-2004 à 14:15:33  profilanswer
 

Taz a écrit :

sinon y a distcc qui est enfantin à utiliser et gratos


 
En effet, ça a l'air bien. Par contre, ça ne s'intègre pas Visual C++ ...

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
Existe-t-il un editeur gratuit de projet visual basic ?PlaySound en C++ .net?
[VB .NET] Connaitre la taille d'un fichier.Acheter Visual C++
Remplacement de certaines librairies Microsoft Visual[Visual C++ 2003] Generer un exe qui ne depend pas de msvcp71.dll ?
Indentation automatique sous Visual FortranObjet axMSFlexGrid dans VB .Net
Plus de sujets relatifs à : Visual .Net 2001 ou 2003 ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR