Lentidão do programa

pedroeeic

Power Member
Boas pessoal

Fiz um programa para uma maquina que montei para um trabalho da universidade e agora que essa maquina esta em testes, foi verificado que ao fim de algumas peças manobradas, o programa fica lento.
A programa executa comandos em DOS e esta em constante ligação a uma rede onde troca informação,para alem de monitozizar cada passo que a maquina faz.
O que eu gostava de saber é se essa lentidao sera dos comandos DOS, da ligação a uma rede ou se é por estar constantemente a entrar numa rotina onde eu declaro(crio) algumas variaveis. Sera que preciso de declarar essas variaveis fora da rotina de forma a evitar a constante criação da mesma variavel??
Ou seja: A criação sucessiva de variaveis enche a memoria??
Abraço
 
Sim enche a memória.
Por isso é aplicações em linguagens com Garbage Collector são por norma mais lentas. A memória só limpa quando se precisar de mais.
Enquanto em aplicações feitas com linguagens sem Garbage Collector, em que os recursos têm de ser libertados manualmente. São mais rápidas quando escritas correctamente.

O que me parece é que estás a escrever código numa linguagem sem Garabage Colector como se tivesses um.

Que linguagem estás a usar?

Cheers
 
Sim enche a memória.
Por isso é aplicações em linguagens com Garbage Collector são por norma mais lentas. A memória só limpa quando se precisar de mais.
Enquanto em aplicações feitas com linguagens sem Garbage Collector, em que os recursos têm de ser libertados manualmente. São mais rápidas quando escritas correctamente.

O que me parece é que estás a escrever código numa linguagem sem Garabage Colector como se tivesses um.

Que linguagem estás a usar?

Cheers

Esqueci-me de mencionar a linguagem....é C#.
 
Se o problema for o garbage collector a "intrometer-se" quando não deve, usa as propriedades da classe GC e muda para o modo menos agressivo.
Se for o contrário e tiveres pouca memória, muda para o mais agressivo, ou força a colecta regularmente com GC.Collect();
 
Back
Topo