Différence entre déclarer les variables avant de les ou en boucle?

Je me suis toujours demandé si, en général, la déclaration d'une poubelle variable avant la boucle, comme opposé à plusieurs reprises à l'intérieur de la boucle, fait tout (performance) différence?
Un (assez inutile) exemple en Java:

a) déclaration avant la boucle:

double intermediateResult;
for(int i=0; i < 1000; i++){
    intermediateResult = i;
    System.out.println(intermediateResult);
}

b) déclaration (à plusieurs reprises) à l'intérieur de la boucle:

for(int i=0; i < 1000; i++){
    double intermediateResult = i;
    System.out.println(intermediateResult);
}

Lequel est le mieux, un ou b?

Je soupçonne que l'exposition répétée à la déclaration de la variable (exemple b) crée plus de surcharge en théorie, mais que les compilateurs sont assez intelligents de sorte qu'il n'a pas d'importance. Exemple b a l'avantage d'être plus compact et de limiter la portée de la variable à l'endroit où il est utilisé. Encore, j'ai tendance à code, selon exemple un.

Edit: je suis surtout intéressé par les Java cas.

  • C'est important, lors de l'écriture de code Java pour la plateforme Android. Google suggère que, pour des temps critique de code pour déclarer incrémenter des variables à l'extérieur d'une boucle for, comme si à l'intérieur de la boucle for, il déclare à nouveau à chaque fois dans ce type d'environnement. La différence de performances est très perceptible pour cher algorithmes.
  • pourriez-vous fournir un lien pour cette suggestion de Google
InformationsquelleAutor Rabarberski | 2009-01-02