Comment la performance est-elle affectée par une directive d’utilisation non utilisée?

Visual Studio crée automatiquement des instructions d’utilisation à chaque fois que vous créez une nouvelle page ou un nouveau projet. Certains d’entre eux que vous n’utiliserez jamais.

Visual Studio a la fonctionnalité utile pour “supprimer les utilisations non utilisées”.

Je me demande s’il y a un effet négatif sur les performances du programme si les instructions d’utilisation qui ne sont jamais utilisées restnt mentionnées en haut du fichier.

Une utilisation inutilisée n’a aucun impact sur les performances d’exécution de votre application.

Cela peut affecter les performances de l’EDI et la phase de compilation globale. La raison en est que cela crée un espace de noms supplémentaire dans lequel la résolution de noms doit avoir lieu. Cependant, ceux-ci ont tendance à être mineurs et ne devraient pas avoir un impact notable sur votre expérience IDE pour la plupart des scénarios.

Cela peut également affecter les performances d’évaluation des expressions dans le débogueur pour les mêmes raisons.

Non, c’est juste un style de compilation / de codage. Les binarys .NET utilisent des noms complets sous le capot.

Aucun effet sur la vitesse d’exécution, mais il peut y avoir un léger effet sur la vitesse de compilation / intellisense car il y a plus d’espaces de noms potentiels pour rechercher la classe appropriée. Je ne m’inquiéterais pas trop à ce sujet, mais vous pouvez utiliser l’élément de menu Organiser les utilisations pour supprimer et sortinger les instructions.

Non, plusieurs processus interviennent lors de la compilation d’un programme. Lorsque le compilateur commence à rechercher des références (classes, méthodes), il utilise uniquement celles utilisées dans le code. La directive using indique seulement au compilateur où regarder. Un grand nombre d’instructions d’utilisation non utilisées peuvent avoir un problème de performances, mais juste au moment de la compilation. A l’exécution, tout le code externe est correctement lié ou inclus dans le binary.

Le code qui ne s’exécute pas n’affecte pas les performances d’un programme.

Le lien suivant Une bonne lecture de la suppression des références inutilisées explique comment il est utile de supprimer les références inutilisées de l’application.

Voici quelques extraits du lien:

  1. En supprimant toutes les références inutilisées dans votre application, vous empêchez le CLR de charger les modules référencés inutilisés au moment de l’exécution. Ce qui signifie que vous réduirez le temps de démarrage de votre application, car le chargement de chaque module prend du temps et évite que le compilateur charge les métadonnées qui ne seront jamais utilisées. Vous pouvez constater que selon la taille de chaque bibliothèque, votre temps de démarrage est sensiblement réduit. Cela ne veut pas dire que votre application sera plus rapide une fois chargée, mais il peut être très pratique de savoir que votre temps de démarrage pourrait être réduit.

  2. Un autre avantage de la suppression de toutes les références inutilisées est que vous réduirez le risque de conflits avec les espaces de noms. Par exemple, si System.Drawing et System.Web.UI.WebControls sont tous deux référencés, il se peut que vous renconsortingez des conflits lors de la tentative de référence à la classe Image . Si vous utilisez des directives dans votre classe qui correspondent à ces références, le compilateur ne peut pas dire lesquelles utiliser. Si vous utilisez régulièrement la saisie semi-automatique lors du développement, la suppression des espaces de noms inutilisés réduira le nombre de valeurs de complétion automatique dans votre éditeur de texte lors de la saisie.