60 votes

Est-il une différence de performance entre Javac debug sur et en dehors?

Si je passe sur la génération des informations de débogage avec Javac ensuite les fichiers de classe sont de 20 à 25% plus grande. A cette performance effets sur l'exécution du programme Java? Si oui, à quelles conditions et combien. Je m'attends à un peu d'impact sur le chargement de classes parce que les fichiers sont plus gros, mais ce devrait être minime.

62voto

Paul de Vrieze Points 3715

Dans n'importe quelle langue, les informations de débogage sont des méta-informations. Il de par sa nature, augmente la taille des fichiers de l'objet, augmentant ainsi le temps de chargement. Lors de l'exécution à l'extérieur d'un débogueur, cette information est en fait complètement ignoré. Comme indiqué (bien que pas clairement) dans la JVM spec les informations de débogage sont stockées à l'extérieur du bytecode flux. Cela signifie qu'au moment de l'exécution il n'y a pas de différence dans le fichier de classe. Si vous voulez être sûr que, l'essayer :-).

Ps. Souvent pour le débogage il y a une valeur à la désactivation de l'optimisation. Qui n' ont un impact sur les performances.

8voto

Maxim Veksler Points 43

S'il vous plaît être conscient que JDK1.3 javac ignore tout de l'optimisation des drapeaux, des "au moment de la compilation d'optimisation est inutile"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X