Partage
  • Partager sur Facebook
  • Partager sur Twitter

Les commentaires et la compilation

Sujet résolu
    28 avril 2015 à 23:22:23

    Bonjour tout le monde !

    J'étais en train de coder en java, et je me disais qu'il y avait beaucoup de commentaires dans mon code (heureusement pour les petits copains qui vont me lire me direz vous). 

    Cela m'a fait penser a quelque chose auquel je n'avais jamais pensé : Est-ce que les commentaires ralentissent la compilation du code ? (le parseur doit quand même passer quelques millisecondes à chaque fois pour identifier les com's nan ?)

    Et oui je sais, quand on a pas de réels problème, on s'en invente c'est bien connu ! Bye :)

    PS : je précise que je pose cette question par simple curiosité, je n'ai pas l'intention d'optimiser mon code en supprimant tous les commentaires !

    • Partager sur Facebook
    • Partager sur Twitter

    Mon projet: SpotRoom. N'hésites pas à passer dire ce que tu en penses !

      29 avril 2015 à 6:35:43

      Salut

      A ma connaissance il n'y a pas d'optimisation en supprimant les commentaires en java.

      • Partager sur Facebook
      • Partager sur Twitter
        29 avril 2015 à 11:46:16

        L'étape « parsing » de ton programme, qui transforme la source en arbre, est en réalité séparée en deux parties distinctes : l'analyse lexicale et l'analyse syntaxique propre. L'analyse lexicale prend en entrée ton code source, c'est à dire une suite de caractères, et le transforme en une suite de « lexème », ou mots de ton langage. Par exemple, while est un mot, 123 est un mot, et class Truc inherit machin est une suite de 4 mots. Ensuite, c'est l'analyse syntaxique (ou parsing) qui transforme cette suite de mots en un arbre syntaxique.

        Les commentaires de ton code sont normalement retirés dès l'analyse lexicale : ils n'ont pas de sens, donc ça n'a pas d'intérêt de s'en encombrer dans la suite des opérations. L'analyse lexicale doit effectivement lire tous les caractères de ton fichier, donc effectivement elle est ralentie par la présence de commentaires, tout comme elle est évidemment plus lente quand le programme que tu écris est plus gros. Est-ce que c'est remarquable ? Non, clairement pas. C'est de toute façon une opération extrêmement rapide, nettement plus que l'analyse syntaxique, qui ne représente elle-même qu'une petite partie du temps de compilation de ton programme. Ça prendra nettement moins que « quelques millisecondes », par exemple. Tu peux d'ailleurs faire le test en générant des fichiers avec très peu de code et beaucoup de commentaires et en essayant de mesurer l'impact de ces commentaires sur le temps de compilation : il est probable que tu n'y arrives même pas tellement c'est faible.

        Et dans tous les cas, même si ça avait un impact, tu ne pourrais pas « optimiser » ton code en supprimant les commentaires : une fois ton fichier compilé, ils sont de toute façon absents.

        • Partager sur Facebook
        • Partager sur Twitter
        OCaml, un langage expressif et performant qui vous ferait du bien.
          30 avril 2015 à 11:48:08

          Ok merci, super intéressant ! (sujet résolu !)
          • Partager sur Facebook
          • Partager sur Twitter

          Mon projet: SpotRoom. N'hésites pas à passer dire ce que tu en penses !

          Les commentaires et la compilation

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown