8
votes

Beaucoup de variables inutiles entraîneraient-elles des problèmes de performance en C #?

J'ai une application C # 4.0 et dans cette application, j'ai beaucoup de variables inutiles. Comme _foo variable à l'intérieur du code ci-dessous: xxx

Comme je l'ai mentionné, des situations comme celle-ci se produisent à l'intérieur de nombreux procédés.

beaucoup de variables inutiles (comme celles que j'ai expliquées dans ce cas) causer un problème de performance en C #?

EDIT:

Je ne demande aucun conseil si je devrais les supprimer ou non. Ma question est tout sur l'effet de performance. En fait, l'application n'est pas écrite par moi et je suis nouveau dans ce projet. Je viens de voir et de me demander s'il a des perfs. effet outre le fait qu'il a un effet sur la qualité du code.


5 commentaires

Qu'est-ce que beaucoup pour vous? 100 ou 1.000.000? Et si ceux-ci sont inutiles ce qui vous empêche de les supprimer? Quel type d'application est à vous?


Si vous savez qu'ils sont inutiles, supprimez-les.


Ces variables inutilisées perdraient les cycles cérébraux du développeur de maintenance


@Ramhound, il vous manque le point de la question. Voir ma mise à jour.


@Davidepiras environ 500 fois. Voir ma question mise à jour. Celui-ci est une bibliothèque de classe qui sert de couche d'accès aux données.


3 Réponses :


24
votes

Beaucoup de variables inutiles (comme celles que j'ai expliquées dans cette cas) causer un problème de performance en c #? p>

Non, ils ne le feront pas. p>

Le compilateur est suffisamment intelligent pour supprimer toutes les choses inutiles lorsque vous compilez en mode de sortie et optimisez votre code pour: P>

.method public hidebysig instance string Foo() cil managed
{
    .maxstack 1
    .locals init (
        [0] string _foo,
        [1] string CS$1$0000)
    L_0000: nop 
    L_0001: ldstr "foo bar"
    L_0006: stloc.0 
    L_0007: ldloc.0 
    L_0008: stloc.1 
    L_0009: br.s L_000b
    L_000b: ldloc.1 
    L_000c: ret 
}

1 commentaires

Il vaut la peine de mentionner le compilateur C # supprime les variables locales inutilisées lorsque l'option Optimizize est activée . sinon Les variables locales non utilisées et les affectations inutiles augmentent la taille d'un assemblage et Diminution des performances. Docs.Microsoft .com / fr-US / VisualStudio / Qualité de code / ...



1
votes

sauf si vous avez des problèmes de performances notables avec le système, vous ne devez jamais coder / modifier pour la performance. En tant que développeur de logiciels, notre premier objectif est d'écrire un code propre, lisible et élégant. Comme Darin a dit au-dessus des compilateurs fera son travail d'optimisation pour l'exécution de la machine en notre nom.


0 commentaires

1
votes

S'il s'agit d'une variable inutilisée, cela pourrait entraîner une diminution des performances et augmenter la taille de l'assemblage puisqu'il occupera des espaces de mémoire au moment de l'exécution.

Pour une lecture et une référence ultérieures, vous pouvez vérifier:

https://msdn.microsoft. com / fr-US / bibliothèque / ms182278 (v = vs.140) .aspx


1 commentaires

Il vaut la peine de mentionner le compilateur C # supprime les variables locales inutilisées lorsque l'option Optimizize est activée . Sinon Les variables locales inutilisées et les affectations inutiles augmentent la taille d'un assemblage et diminuent les performances . docs.microsoft.com/en-us/ VisualStudio / Qualité de code / ...