| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/05/2004 08:49:53
|
vamorim
JavaEvangelist
![[Avatar]](/images/avatar/bd5af7cd922fd2603be4ee3dc43b0b77.jpg)
Membro desde: 21/11/2003 17:08:39
Mensagens: 481
Localização: Rio de Janeiro - RJ
Offline
|
Instanciar objetos dentro de laços pode agregar um custo computacional desnecessário.
E quanto à declaração de variáveis. Existe alguma otimização no javac para que eu possa usar isso sem medo?
|
Vinci Pegoretti Amorim
http://vinci.blog.br |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/05/2004 08:53:42
|
vamorim
JavaEvangelist
![[Avatar]](/images/avatar/bd5af7cd922fd2603be4ee3dc43b0b77.jpg)
Membro desde: 21/11/2003 17:08:39
Mensagens: 481
Localização: Rio de Janeiro - RJ
Offline
|
Desculpem-me. Esbarrei no botão enviar
ao invés disso:
|
Vinci Pegoretti Amorim
http://vinci.blog.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/05/2004 09:35:13
|
Filipe Sabella
GUJ Expert
Membro desde: 12/03/2003 11:25:57
Mensagens: 4680
Offline
|
Sim fica mais caro.
Pergunta: para que você *precisa* declarar uma variável dentro de um laço?
*dica: tem um botão "editar" em cima à direita de qualquer tópico seu
|
Former LIPE. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/05/2004 10:02:10
|
rogeriop80
JavaEvangelist
![[Avatar]](/images/avatar/ec47a5de1ebd60f559fee4afd739d59b.png)
Membro desde: 20/04/2004 17:10:50
Mensagens: 313
Localização: Caçapava/SJC - SP
Offline
|
Lembre-se que cada variavel ou objeto declarado consome um espaço na memória.
Há também o tempo para cada nova alocação.
|
Rogério Peres Gomes
E TENHO DITO ! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/05/2004 10:17:47
|
vamorim
JavaEvangelist
![[Avatar]](/images/avatar/bd5af7cd922fd2603be4ee3dc43b0b77.jpg)
Membro desde: 21/11/2003 17:08:39
Mensagens: 481
Localização: Rio de Janeiro - RJ
Offline
|
Oh! Nunca tinha reparado esse botão!
Quando ao post, muitas fazemos coisas ineficientes a favor de elegância....
|
Vinci Pegoretti Amorim
http://vinci.blog.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/05/2004 10:21:34
|
aborges
GUJ Ranger
![[Avatar]](/images/avatar/c896d785411ce08cdd4ea.jpg)
Membro desde: 08/10/2003 11:44:19
Mensagens: 818
Localização: Caçapava - SP
Offline
|
vamorim wrote:Oh! Nunca tinha reparado esse botão!
Quando ao post, muitas fazemos coisas ineficientes a favor de elegância....
Vc acha elegante declarar variaveis dentro de LOOPS?
|
Linux é que nem sexo, quem não conheçe diz que dói
Alexandre Borges |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/05/2004 10:40:02
|
Rafael Steil
Administrador
![[Avatar]](/images/avatar/8e296a067a37563370ded05f5a3bf3ec.jpg)
Membro desde: 31/08/2002 02:35:53
Mensagens: 5984
Localização: São Paulo
Offline
|
1) O teu programa nao tera performance afetada a ponto de ser notada. Alias, muito longe disso
2) Declarar as variaveis fora do loop, sendo que voce somente ira usa-las dentro dele, pode dar alguns problemas relacionados a escopo, uma vez que a var ficara disponivel para o resto do bloco de codigo sem necessidade.
Rafael
|
"working code attracts people who want to code. Design documents attract people who want to talk about coding - Charles Miller"
http://rafaelsteil.com
http://twitter.com/rafaelsteil
http://www.jforum.net
http://www.flickr.com/photos/rafaelsteil |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/05/2004 10:59:27
|
cv
Moderador
![[Avatar]](/images/avatar/210f760a89db30aa72ca258a3483cc7f.jpg)
Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline
|
PERAE PERAE PERAE!
Desde quando existe ALGUMA DIFERENCA entre declarar uma variavel num loop ou fora dela? O que doi nao eh declarar uma variavel, eh instanciar objetos, e mesmo assim nao doi tanto.
Pondo o meu na reta, aqui vai o codigo que eu usei como exemplo:
E aqui vai um belo javap -c no bichinho:
Nao sei se voces notaram, mas NAO FAZ A MENOR DIFERENCA. Ponto final na discussao.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/05/2004 11:33:48
|
rogeriop80
JavaEvangelist
![[Avatar]](/images/avatar/ec47a5de1ebd60f559fee4afd739d59b.png)
Membro desde: 20/04/2004 17:10:50
Mensagens: 313
Localização: Caçapava/SJC - SP
Offline
|
cv wrote:
Nao sei se voces notaram, mas NAO FAZ A MENOR DIFERENCA. Ponto final na discussao. 
Mas acho que não é bem isso, e se fosse assim
Mesmo pq da forma que vc colocou o For declara a variavel apenas uma vez.
Abraços.
|
Rogério Peres Gomes
E TENHO DITO ! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/05/2004 11:46:30
|
louds
Moderador
![[Avatar]](/images/avatar/1e48c4420b7073bc11916c6c1de226bb.jpg)
Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline
|
O custo de declarações locais é ZERO em termos de instruções utilizadas pela CPU para alocação de espaço. Outra coisa é o custo de inicializar essas variaveis.
|
http://www.kumpera.net/blog/
http://www.mono-project.com/
"Each individual should work for himself. People will not sacrifice themselves for the company. They come to work at the company to enjoy themselves."
Soichiro Honda |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/05/2004 13:03:59
|
cv
Moderador
![[Avatar]](/images/avatar/210f760a89db30aa72ca258a3483cc7f.jpg)
Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline
|
rogeriop80 wrote:Mesmo pq da forma que vc colocou o For declara a variavel apenas uma vez.
Uma variavel nao pode ser declarada mais de uma vez, ou voce teria um erro de compilacao (leia esta frase de novo caso em caso de viagem na maionese ). Ela pode ser inicializada uma unica vez, e escrita/lida quantas vezes voce quiser.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/05/2004 13:13:54
|
vamorim
JavaEvangelist
![[Avatar]](/images/avatar/bd5af7cd922fd2603be4ee3dc43b0b77.jpg)
Membro desde: 21/11/2003 17:08:39
Mensagens: 481
Localização: Rio de Janeiro - RJ
Offline
|
cv wrote:Uma variavel nao pode ser declarada mais de uma vez (... ). Ela pode ser inicializada uma unica vez (...)
Então o que significa efetivamente fazer
Dei um javap - c no teste do rogeriop80 mais acho que ainda não me caiu a ficha...
|
Vinci Pegoretti Amorim
http://vinci.blog.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/05/2004 13:34:56
|
cv
Moderador
![[Avatar]](/images/avatar/210f760a89db30aa72ca258a3483cc7f.jpg)
Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline
|
Bom, de acordo com o codigo do Rogerio:
Saida do javap, explicadinha:
Melhorou a queda da ficha?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/05/2004 14:57:19
|
brlima
Moderador
![[Avatar]](/images/avatar/fc2c7c47b918d0c2d792a719dfb602ef.png)
Membro desde: 12/05/2003 14:03:38
Mensagens: 1537
Localização: São Paulo - SP
Offline
|
Achei que cada vez que finzlizasse um loop, ele matava todas as variaveis.
Entao, qdo declaro no começo de um looping uma variavel X , ao voltar pro começo no proximo loop, essa variavel nao existisse mais...
Logo, ele sempre teria o mesmo numero de bytes ocupado em memoria...
Certo ?
|
Bruno R. Lima
-------------------------------------------
flickr :: twitter |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/05/2004 14:59:53
|
vamorim
JavaEvangelist
![[Avatar]](/images/avatar/bd5af7cd922fd2603be4ee3dc43b0b77.jpg)
Membro desde: 21/11/2003 17:08:39
Mensagens: 481
Localização: Rio de Janeiro - RJ
Offline
|
Ficha? Ué, cadê ela? Acho que caiu por aí...
Faleu!
|
Vinci Pegoretti Amorim
http://vinci.blog.br |
|
|
 |
|
|