Fala galera do guj! To fazendo uns testes no sistema que estou desenvolvendo, estou atraz de eficiência(não é luxo, minha aplicação ficou realmente pesada …). Ao invéz de ficar testando classe a classe ia economizar muito tempo se eu entendesse o conceito.
Um exemplo é uma classe que eu tenho que roda em segundo plano, ela faz uns monitoramentos. É uma classe relativamente simples, com entre 25 e 30 linhas de código. Aí deixei um trayicon pra mostrar pro usuário que meu programa está ativo. Minha dúvida é a seguinte: o que é mais eficiente:
-centralizar as rotinas em uma classe ou fazer uma que gerencia e chama as outras?
-neste exemplo, sendo a classe tão pequena compensaria deixar na mesma classe do trayicon?
-a eficiência nestes casos tem alguma coisa haver com threads?
Não entendo muito de threads, estou me aprofundando neste assunto por isso as dúvidas podem parecer imbecís.Obrigado a todos pela colaboração e um ótimo dia!
“Aplicação pesada” é aquela que está demorando muito para carregar, mas depois de carregada é muito rápida, ou aquela que demora muito para executar (depois de ter feito o “warm up”) ou aquela que está ocupando muita memória e você está tentando usar uma pobre máquina Pentium III rodando Windows Vista Ultimate? Como é realmente seu problema?
Eficiência não é uma coisa que se consiga fazer simplesmente codificando. Você precisa de ferramentas para ver onde é que você precisa melhorar.
haha, não demora muito não… é que estava ocupando memória demais. No meu serviço roda que é uma beleza mas aqui os pc’s são bons (Core 2 duo 3GHz, 2 Gb de memória). Tentei rodar no pc da escola travo tudo … ele é meio fraco mesmo, mas deveria rodar. Consegui com a ajuda do pessoal aqui melhorar um pouco o problema: um robo de monitoramento ocupava 50% do processamento sozinho! agora está ocupando menos de 10%. Ainda assim acho muita coisa. Outro problema é que eu fazia client e server na mesma maquina( na hora só tinha uma =/). E como ainda não terminei o sistema, to rodando pelo netbeans mesmo inclusive os servlets e o netbeans é meio pesado. Tirando esses exemplos já melhorou bastante o desempenho(consumo de memória…).
O que eu estou tentando é enxugar o máximo até nas pequenas coisas. Mas se vc diz que por código é meio difícil, (pelo jeito tanto faz os dois métodos que citei), vou procurar outras alternativas. Obrigado!