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

Autres éditeurs Discussion :

Temps de compilation


Sujet :

Autres éditeurs

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2003
    Messages : 216
    Points : 74
    Points
    74
    Par défaut Temps de compilation
    Bonjour,

    Je ne sais pas si ce sujet est au bon endroit ici. Si ce n'est pas le cas, merci de bien vouloir le déplacer...

    Je viens de rentrer dans le milieu professionnel et il y a une chose qui m'a choqué : le temps de compilation d'un projet : plus de 25 minutes pour recompiler le projet en entier et environ 6-7 minutes pour recompiler juste les 2-3 fichiers que l'on à modifiés et ses dépendances.
    Bref...autant dire que l'ont essaye de compiler le moins souvent possible : on programme un énorme bout de code, on le relie 5 fois pour être sûr, ensuite on compile et si ça bug, on passe un temps dingue avec le debugger !
    Bref, tout le contraire de ce que j'avais l'habitude de faire quand je programmais dans mon petit coin.

    En fait, c'est pas vraiment le compilation en elle même qui est lente mais tout ce qu'il y a autour :
    - Par exemple, si je rajoute un fichier .cpp à mon projet C++, je vais devoir refaire un "./configure" pour recréer mon makefile et c'est cela qui va prendre un temps dingue.
    - Et si j'ai bien compris dans le monde de java, on utilise Maven qui prend aussi un temps dingue pour vérifier les fichiers/bibliothèques que l'on à besoin, etc.

    Donc mes questions sont :
    - Faut-il utiliser les outils comme maven/makefile lors d'un développement d'un projet ? Ou ils faut juste les utiliser quand on veux distribuer le programme ?
    - Suis-je un mauvais programmeur parce que j'ai l'habitude de compiler souvent pour tester le petit bout de code que je viens de faire ?

    Merci d'avance...

  2. #2
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut
    Je connais que java, donc maven.

    Mais ce que tu dis est vrai, c'est long. Mon projet actuel represente environ 20Mo de jar (equivalent de dll pour le c++) au final.

    cela prend entre 5 a 8minutes pour la compilation sans les tests.
    Et une demi-heure avec tous les tests.

    Mais avec maven on n'a pas besoin de tout recompiler pour pouvoir tester, il suffoit de recompiler le module sur lequel on travail, ca ne prend donc que quelques secondes avant de pouvoir tester l'application.

    - Suis-je un mauvais programmeur parce que j'ai l'habitude de compiler souvent pour tester le petit bout de code que je viens de faire ?
    Je dirais oui ou plutot c'est le manque d'experience qui te pousser a tester souvent. on est tous passé par la.

    si la compilation est trop longue pour faire les tests voila quelque astuces :
    (pour java, je ne sais pas pour le c++ s'il y a un equivalant)
    - JUnit, se sont des classes de tests, tu ecrits des methods de test et du les lance, plus besoin de lancer l'appli pour faire le test soi meme (ce n'est pas toujours utilisable, surtout dans le cas des interfaces utilisateurs)
    - travailler sur plusieurs endroit a la fois
    - forcer l'usage d'interface, autrement dit tu utilises des interfaces plutot que classes, comme ca tu developpe toute la structure sans te poser de soucis pour les tester. Et a la fin tu realise les implementations par defaut et les tests.
    Systèmes d'Informations Géographiques
    - Projets : Unlicense.science - Apache.SIS

    Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par casafa Voir le message
    [...]
    Je viens de rentrer dans le milieu professionnel et il y a une chose qui m'a choqué : le temps de compilation d'un projet : plus de 25 minutes pour recompiler le projet en entier et environ 6-7 minutes pour recompiler juste les 2-3 fichiers que l'on à modifiés et ses dépendances.[...]
    - Suis-je un mauvais programmeur parce que j'ai l'habitude de compiler souvent pour tester le petit bout de code que je viens de faire ?[...]
    Tu n'es pas un mauvais programmeur. Tu prends juste conscience d'une différence entre le chez-toi ou le monde académique, où tu disposais d'une plus grande souplesse, et le monde des projets professionnels. C'est normal qu'il y ait un temps d'adaptation. Maintenant, dis toi qu'il y a 30 ans, les étudiants devaient fournir des cartes perforés et attendre qu'un technicien les exécute et leurs rendent les résultats, au mieux dans la soirée. Est-ce qu'ils en étaient plus prompt à faire de la programmation industrielle ? Pas forcément, ils n'ont jamais eu la chance de bien expérimenté, ce que toi tu as eu ^_^

    Je suis convaincu que comme les autres tu apprendras à faire plus attention et à ne pas recompiler pour un rien.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2003
    Messages : 216
    Points : 74
    Points
    74
    Par défaut
    Citation Envoyé par eclesia Voir le message
    Mais avec maven on n'a pas besoin de tout recompiler pour pouvoir tester, il suffoit de recompiler le module sur lequel on travail, ca ne prend donc que quelques secondes avant de pouvoir tester l'application.
    Oui c'est ce que je dit, la compilation en elle même n'est pas trop longue et de toute façon je sais bien que ce temps de compilation je ne pourrais pas y échapper.
    Le problème viens du fait que ce genre d'outil vérifie à chaque compilation si on possède bien la dépendance X ou Y. Et ce genre d'outil fait aussi plein d'autres choses que je n'ai pas encore forcément comprise.

    Ces outils sont très bien adapté pour déployer une application mais je les trouve très mal adaptée quand on est en phase de développement

  5. #5
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Vu que vous parliez de maven, il y a le débat : Maven est-il le meilleur outil pour faire des builds ? si vous voulez plus particulièrement parler de cet outil là.
    Je ne répondrai à aucune question technique en privé

  6. #6
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut
    Oui c'est ce que je dit, la compilation en elle même n'est pas trop longue et de toute façon je sais bien que ce temps de compilation je ne pourrais pas y échapper.
    Le problème viens du fait que ce genre d'outil vérifie à chaque compilation si on possède bien la dépendance X ou Y. Et ce genre d'outil fait aussi plein d'autres choses que je n'ai pas encore forcément comprise.

    Ces outils sont très bien adapté pour déployer une application mais je les trouve très mal adaptée quand on est en phase de développement
    Je ne sais pas pour ton outil C++ mais pour maven le temps qu'il prend pour compiler et faire les autres taches est respectable.

    Apres il ne faut pas utiliser ce genre d'outil sur des petits projets... un svn/cvs ainsi qu'un dossier lib tenu a la main et ca suffit.
    Systèmes d'Informations Géographiques
    - Projets : Unlicense.science - Apache.SIS

    Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons

  7. #7
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par eclesia Voir le message
    [...]
    Apres il ne faut pas utiliser ce genre d'outil sur des petits projets... un svn/cvs ainsi qu'un dossier lib tenu a la main et ca suffit.
    Ça dépend ce que tu entends par petits projets... mais en général c'est quand même mieux d'utiliser un makefile ou un outil similaire. Il n'y a pas que des considérations de temps de compilation. Il y a notamment les considérations de dépendances et de gestions de projet dans la maintenance qui compte. Maintenant je ne connais pas Maven en particulier.

  8. #8
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut
    Citation Envoyé par Garulfo
    Ça dépend ce que tu entends par petits projets...
    On ne va pas se mettre a jouer sur les mots... tu sais que c'est relatif a beaucoup de chose. On ne va pas lancer un debat sur "qu'est ce qu'un petit projet?"

    Citation Envoyé par Garulfo
    mais en général c'est quand même mieux d'utiliser un makefile ou un outil similaire.
    Je ne vois pas ou j'ai dit d'aller attaquer le projet au blocnote, un IDE qui se respecte te propose un makefile/Script/Ant ou n'importe quoi qui va remplir les fonctions de bases.
    Systèmes d'Informations Géographiques
    - Projets : Unlicense.science - Apache.SIS

    Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons

  9. #9
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par eclesia Voir le message
    On ne va pas se mettre a jouer sur les mots... tu sais que c'est relatif a beaucoup de chose. On ne va pas lancer un debat sur "qu'est ce qu'un petit projet?"
    Non mais si pour toi, petit projet c'est un projet qui prend six mois à concevoir et coder pour une personne je ne suis pas d'accord.

    Citation Envoyé par eclesia Voir le message
    Je ne vois pas ou j'ai dit d'aller attaquer le projet au blocnote, un IDE qui se respecte te propose un makefile/Script/Ant ou n'importe quoi qui va remplir les fonctions de bases.
    Et je ne vois pas où j'ai dit que tu avais dit d'aller attaquer le projet au blocnote ! Et je ne vois pas où tu as dit d'utiliser un IDE remarques bien.
    Je n'avais pas compris ça c'est tout
    C'est pas la fin du monde.

    Excuses moi je ne citerais plus tes messages vu le stress que cela t'apporte.

Discussions similaires

  1. Réponses: 46
    Dernier message: 21/11/2009, 17h42
  2. Templates et temps de compilation
    Par mister3957 dans le forum C++
    Réponses: 7
    Dernier message: 04/12/2008, 14h52
  3. Calculer le temps de compilation
    Par Edisan dans le forum C
    Réponses: 7
    Dernier message: 16/12/2007, 18h45
  4. Réponses: 8
    Dernier message: 10/12/2007, 18h03
  5. [Compilateur]Temps de compilation et recompilation
    Par afrikha dans le forum Général Java
    Réponses: 12
    Dernier message: 18/11/2005, 08h03

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