2011-03-24 2 views
22

J'ai entendu qu'un script fortement commenté s'exécute légèrement plus lentement qu'un non-commenté. Est-ce vrai?Est-ce que les commentaires rendent le code plus lent?

Est-ce que quelqu'un l'a testé? (Comme la façon beaucoup plus lente est en pourcentage)

+38

** Ne vous inquiétez pas à ce sujet ** – SLaks

+5

Je ne suis pas, je suis juste curieux à ce sujet :) Ce n'est pas comme si je vais abandonner commentant – Alex

+0

andra Je suis d'accord avec @ SLaks, mais vous pouvez exécuter un test facile. créer deux fichiers php, chacun 10000 lignes de long (vous pouvez les créer avec php, comment méta est-ce?) et dans un dans chaque ligne créer un commentaire et dans l'autre fichier, laissez le tout vide (à l'exception du php tags) exécutez microtime sur eux pour voir le temps d'exécution. – Patrick

Répondre

11

Commenter n'affectera pas l'heure d'exécution du script dans un cas normal. Mais le nombre de lignes que vous écrivez dans votre code affecte l'analyseur pour lire et le mettre en mémoire tampon considérablement. Si vous pouvez exécuter certaines choses en 20 lignes, vous essayez d'écrire la même chose sur 1000 lignes, la performance peut être affectée si elle fait partie d'une application qui s'exécute séquentiellement. Même si quelques lignes ou beaucoup de lignes les dépendances sont importantes. Si vous utilisez une bibliothèque qui dépend fortement de certaines applications, évidemment le temps de chargement, le temps d'analyse et la compilation et le temps d'exécution augmenteront. Dans tous les cas, le commentaire n'affectera pas considérablement, mais quelques microsecondes ne vous coûteront pas cher. Alors allez-y et commentez votre code et le rendre lisible par les co-développeurs.

11

Je peux vous dire que 99,99% du temps passé à l'analyse du fichier suivant:

<?php /* A comment */ ?> 

est consacré à l'ouverture du fichier, la lecture de son contenu, et la fermeture le fichier. Si vous avez copié et collé ce commentaire sur 10 000 lignes, cela ne fera aucune différence.

+0

Si vous aviez 1gb de commentaires il faudrait un moment pour analyser lol –

2

Si votre code est compilé, les commentaires seront supprimés pendant l'analyse, donc ne seront même pas inclus dans votre bytecode fini, ce qui signifie qu'il n'y a aucune différence.

Si votre code est interprété, assurez-vous que le compilateur a besoin de supprimer les lignes de commentaires, mais que vous passez beaucoup plus de temps à exécuter votre programme, donc la différence est négligeable.

+0

Ils ne sont pas inclus. – erisco

+0

Oh désolé, je pensais que vous vouliez dire qu'ils étaient inclus. J'ai mal lu. Phew. – BoltClock

Questions connexes