_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.


A ideia q eu tinha eh q este final iria resultar + ou - em declarar um
ponteiro const em C, o q aumenta a performance. Algo como:

public int fazXFinal(Vector * const v)

mas precisaria de uma resposta embasada (tb fiz testes e no 1.2, usando 2
mains diferentes, parece q a performance foi levemente superior, mas criei
varios Vectors ao inves de varios itens....)

Estou acostumado a usar final para declarar metodos e variaveis automaticas
e sempre ajudou na performance (em 95% dos casos...) O problema eh este
final estranhissimo em linha de argumentos q parece nao ter um comportamento
definido.

Alguem tem uma explicacao com provas?

P.s.: valeu!!!!!

[]'s
Michael Nascimento Santos
Analista/Consultor
CPM Sistemas - www.cpm.com.br

>From: "Leonardo Souza Mario Bueno" <[EMAIL PROTECTED]>
>Reply-To: [EMAIL PROTECTED]
>To: <[EMAIL PROTECTED]>
>Subject: [java-list] Re: final em lista de argumentos
>Date: Fri, 23 Mar 2001 11:57:27 -0300
>
>Não posso afirmar com certeza, mas fiz o teste abaixo e a diferença não foi
>lá
>grandes coisas.. pra falar a verdade, usando final foi até mais lento na
>maioria das
>vezes. Tentei inverter a ordem do teste (primeiro sem final ) e o resultado
>não se
>alterou.
>
>Usei a Java HotSpot(TM) Client VM (build 1.3.0_01, mixed mode) para rodar
>os testes.
>Acredito que a otimização varie de acordo com o tipo efabricante da JVM que
>você
>estiver usando.
>
>Eu geralmente uso final somente quando quero usar um argumento de método em
>uma inner
>class anonima... fora isto praticamente nunca uso. Acho que só vale a pena
>usar se
>você desenvolver aplicações matemáticas ou intensivas no uso de CPU.
>
>import java.util.*;
>
>public class FinalTest {
>
>  public int fazX(Vector v) {
>   int sum = 0;
>   for (int i = 0; i < v.size(); i++) {
>    sum += ((Integer)v.get(i)).intValue();
>   }
>   return sum;
>  }
>
>  public int fazXFinal(final Vector v) {
>   int sum = 0;
>   for (int i = 0; i < v.size(); i++) {
>    sum += ((Integer)v.get(i)).intValue();
>   }
>   return sum;
>  }
>
>  public static void main(String args[]) {
>
>   Vector data = new Vector(1000000);
>   for (int i = 0; i < 1000000; i++) {
>    data.add(new Integer(i));
>   }
>
>   FinalTest test = new FinalTest();
>
>   long inicio = System.currentTimeMillis();
>   for (int i = 0; i < 10; i++) {
>    test.fazXFinal(data);
>   }
>   long fim = System.currentTimeMillis();
>   System.out.println("Tempo usando final: "+ (fim-inicio) +"ms");
>   System.gc();
>   inicio = System.currentTimeMillis();
>   for (int i = 0; i < 10; i++) {
>    test.fazX(data);
>   }
>   fim = System.currentTimeMillis();
>   System.out.println("Tempo sem usar final: "+ (fim-inicio) +"ms");
>  }
>
>}
>
>....................................................
>Leonardo Souza Mario Bueno
>itera Informática
>Voice, Wireless & Web Solutions
>[EMAIL PROTECTED]
>Phone: 55 27 337 0317
>Cell: 55 27 9971 1375
>Visit our website at:
>http://www.itera.com.br
>....................................................
>
>----- Original Message -----
>From: "Mister M" <[EMAIL PROTECTED]>
>To: <[EMAIL PROTECTED]>
>Sent: Thursday, March 22, 2001 10:34 AM
>Subject: final em lista de argumentos
>
>
> > Ola pessoal,
> >
> > Alguem saberia me afirmar com certeza se o uso de final na lista de
> > argumentos melhora a performance? Por exemplo, eu sei que em:
> >
> > public void fazX() {
> >    final Vector v = new Vector();
> > ...
> > }
> >
> > pode vir realmente a permitir otimizacoes do compilador. Mas e:
> >
> > public void fazX(final Vector v) {
> > ...
> > }
> >
> > serah q melhora a performance???
> > Tks anyway!
> >
> > []'s
> >
> > Michael Nascimento Santos
> > Analista/Consultor
> > CPM Sistemas - www.cpm.com.br
> >
> >
>_________________________________________________________________________
> > Get Your Private, Free E-mail from MSN Hotmail at
>http://www.hotmail.com.
> >
> >
>
>
>
>------------------------------ LISTA SOUJAVA ----------------------------
>http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
>dúvidas mais comuns: http://www.soujava.org.br/faq.htm
>regras da lista: http://www.soujava.org.br/regras.htm
>para sair da lista: envie email para [EMAIL PROTECTED]
>-------------------------------------------------------------------------
>
_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.





------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------

Responder a