DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

Dicas.NET - Dispose ou não dispose???

Veja nesta dica, um parênteses sobre performance e escalabilidade quando usamos o método dispose.

 

Dispose ou não dispose

Certamente vocês já devem ter ouvido falar que é sempre muito recomendado que façamos o dispose dos objetos que utilizamos, para garantir a liberação da memória utilizada.

 

Realmente, se não fizermos o dispose não temos como garantir em que momento os recursos serão liberados, o que poderia nos gerar problemas

 

Mas se você tiver o perfil de São Tomé e tiver feito testes com o application center para descobrir se a performance melhora mesmo, ficará assustado ao descobrir que você tem uma perda, não ganho de performance.

 

Mas afinal, por que ?

 

Simples : Performance e escalabilidade são duas coisas distintas que nem sempre andam de mãos dadas. Neste exemplo é claro que o dispose vai gerar uma perda de performance. Afinal, estamos realizando uma tarefa a mais dentro do nosso processo, que é a tarefa de liberação do objeto. Essa tarefa irá consumir tempo e performance.

 

Quando não damos o dispose, o dispose é realizado pelo Garbase Collector. O GC utiliza threads para realizarem a liberação de recursos de uma forma tal que isso a principio não afeta a continuidade do processamento na nossa aplicação.

 

Mas e a escalabilidade ?

 

Se não sabemos quanto tempo os recursos estarão sendo consumidos (quando não damos o dispose), então temos ai um maior uso de memória, desnecessariamente. Consequentemente o volume de usuários que este servidor irá suportar é menor do que seria se estivessemos liberando os objetos.

 

Com isso observamos que com relação ao Dispose temos um típico conflito entre Performance x Escalabilidade : Se fizermos perdemos performance mas economizamos recursos para uma maior escalabilidade, se não fizermos ganhamos performance mas consumiremos um maior volume de recursos.

 





    1 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.



Elisabete
E quanto ao procedimento Free, no caso do Delphi .net?


em 30/8/2006 15:33 - Responder

 



Publicidade
Autor
Tipster .net

Dicas sobre .NET




Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03