Após observar o gráfico, responda as seguintes questões:
a) O que você pode concluir quanto ao desempenho da aplicação? Estava realmente
travando como foi relatado pelo cliente?
b) Qual solução poderia ser empregada? Como seria a implementação da solução na
aplicação?
Soluções para a tarefa
Resposta:
a) A aplicação apresenta alto uso da unidade de processamento somente na segunda etapa de funcionamento da ferramenta (processamento de dados), enquanto na primeira e terceira etapas a unidade de processamento é pouco usada, ficando praticamente ociosa. Desse modo, é possível concluir que a aplicação certamente não está travando.
b)O problema de desempenho pode ser resolvido pela utilização de threads. Atualmente, a aplicação está lenta devido ao fato de executar as análises de modo sequencial. A aplicação pode ser dividida em três threads: a primeira é responsável pela leitura dos arquivos, a segunda pelo processamento e a terceira pelo armazenamento. Desse modo, quando a análise atual entrar na etapa de processamento, a leitura dos dados para a próxima análise já pode ser iniciada; os dados já estarão prontos para quando a próxima análise entrar na etapa de processamento, não causando nenhuma espera. Assim, de modo análogo em relação às etapas de processamento e armazenamento.
Explicação: