Existe uma aplicação antiga que utiliza diversos métodos estáticos onde não há necessidade.
No estado que a aplicação se encontra daria um bom trabalho remover o ‘static’ de alguns desses métodos.
Mesmo assim gostaria de saber se a diferença de performance seria muito grande? Se vale a pena mudar esses métodos.
Se não souberem responder, como posso fazer um teste de performance? (Em qualquer IDE ou testador - este teste iria ter apenas 2 métodos idênticos sendo um estático o outro não com diversos acessos a eles).
Você pode testar colocando um simples System.currentTimeMillis() pra pegar o tempo em milisegundos antes e depois da chamada do seu método:
System.out.println(System.currentTimeMillis());
// metodo estático ou método nao estático sendo chamado aqui no lugar desse comentário!
System.out.println(System.currentTimeMillis());
Você vai ver que o resultado se não for igual para métodos estáticos e não estáticos ali no meio, será muito parecido.
Se você quiser, você pode até aumentar a precisão para nanoseconds, ao invés de milis, com o System.nanoTime(), mas aí já é meio “overkill” ;).
[quote=Adriano Almeida]A diferença vai ser insignificante.
Você pode testar colocando um simples System.currentTimeMillis() pra pegar o tempo em milisegundos antes e depois da chamada do seu método:
System.out.println(System.currentTimeMillis());
// metodo estático ou método nao estático sendo chamado aqui no lugar desse comentário!
System.out.println(System.currentTimeMillis());
Você vai ver que o resultado se não for igual para métodos estáticos e não estáticos ali no meio, será muito parecido.
Se você quiser, você pode até aumentar a precisão para nanoseconds, ao invés de milis, com o System.nanoTime(), mas aí já é meio “overkill” ;).[/quote]
mas olhar o tempo de uma execução, é impreciso mesmo. se fosse ao menos um pouco mais, tipo 1 milhao de vezes.