Duvida sobre performance de loops

5 respostas
P

Fala tchurma :smiley:

Andei conversando com uma outra pessoa da área e ele me falou o seguinte:

Ex.1:

(for int = 0; i<objeto.size(); i++){
///
}

Ex.2

int size = objeto.size();
(for int = 0; i<size; i++){
///
}

O Ex.2 possui uma performance melhor que o Ex.1 pq o método size() não é chamado sempre, mas fiquei pensando e não sei se chega a ser um grande ganho de desempenho ou se realmente isso faz algum ganho de performance.

Ql a opinião do pessoal que manja? :smiley:

Valeu

5 Respostas

T

Faz diferença sim. Se puder, use uma variável “final”, que o resultado será ainda melhor.

Vini_Fernandes

Cara, o tempo de acesso ao metodo nao comprometera sua performance, porem, basta imaginar que o metodo consome 1 minuto para concluir sua rotina. No ex.1 ele executará essa rotina muitas vezes, porem, no ex. 2 ele fara apenas 1 vez! Creio que seja isso!

Abraco

P

thingol sempre mandando mto :smiley:

eu fiquei com o pé atras pq eu tinha ouvido uma asneira dlee hehe

S

aquilo ali se deve ao fato do seu metodo loop a cada iteracao chamar o metodo .size toda vez.
Opa.
Calculei errado

S

Olha isso aqui que tu entende um pouco de algoritmo e performance
http://en.wikipedia.org/wiki/Big_O_notation

Criado 5 de fevereiro de 2009
Ultima resposta 5 de fev. de 2009
Respostas 5
Participantes 4