85 votes

Les importations et les objets inutilisés ont-ils un impact sur les performances ?

J'ai un doute : les importations et les objets inutilisés dans le code Java ont-ils un impact sur les performances ?

Supposons qu'un objet soit initialisé et jamais utilisé, que se passe-t-il ? Et quel est le coût des importations inutilisées ?

7 votes

0 votes

Pourquoi ne pas utiliser Eclipse Organize Imports fonction ?

0 votes

Ou les importations Organise dans IntelliJ ou NetBeans ou tout autre IDE décent.

76voto

Peter Lawrey Points 229686

C'est une question très courante.

Comme pour la plupart des questions de performance, la meilleure approche consiste à écrire le code le plus clair et le plus simple possible, car cela améliore la maintenabilité du code et permet de garantir qu'il fonctionne raisonnablement bien même après avoir été modifié. (Un code astucieux/embrouillé/ inutilement verbeux peut fonctionner rapidement au départ, mais lorsqu'il est modifié par de simples mortels, il peut devenir beaucoup plus lent).

Les importations inutilisées ont un impact trivial sur le compilateur, mais il n'y a pas d'importations dans le byte code ou au moment de l'exécution.

Les objets inutilisés peuvent être éliminés par optimisation, mais il est préférable de les éviter car ils ont presque toujours un impact sur les performances, mais surtout ils rendent la lecture et la maintenance de votre code plus difficiles.

30voto

Frankline Points 8947

Les importations inutilisées n'ont aucun impact sur les performances au moment de l'exécution. Il s'agit purement d'un mécanisme d'espace de noms. Néanmoins, vous devriez toujours importer uniquement ce dont vous avez besoin pour des raisons de lisibilité et pour éviter les collisions d'espaces de noms qui sont une nuisance.

En dehors de la lisibilité du code et donc de la maintenabilité du code, la compilation du code java peut être plus rapide (mais cela ne se remarque pas) en mettant de l'ordre dans les importations, mais les performances d'exécution ne sont pas affectées, puisque le code d'octet généré n'est pas affecté par les importations désordonnées. Le code octet généré reste le même.

9voto

Ossama Boughaba Points 141

Si l'impact sur la compilation est minime, l'impact sur le déploiement peut être mauvais. Je viens de tomber sur une importation inutilisée qui nécessitait une bibliothèque séparée qui est devenue une dépendance de maven. Un autre problème de dépendance transitive n'a heureusement pas été trouvé, mais le fichier .war Le dossier était plus épais sans raison. Ajoutez à cela un jar superflu dans le classloader de la webapp.

1voto

asem shawkey Points 21

Bien que les importations inutilisées dans un fichier Java ne créent aucun dommage, elles augmentent inutilement la longueur et la taille du fichier source Java.

0voto

Neeraj Points 115

Oui, cela a un impact sur les performances, si nous faisons référence à une déclaration d'importation inutilisée dans notre classe Java. Le compilateur Java vérifiera les références mentionnées dans l'instruction d'importation et, à un niveau infime, cela aura un impact sur les performances de votre classe.

Gracias

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