domingo, 16 de janeiro de 2011

Benchmark

             Como prometido começarei a falar de alguns assuntos abordados no meu TCC, no post de hoje falarei sobre Benchmark. 
             Benchmark é o processo de comparação de operações de uma maneira que produza resultados quantitativos, essa tecnica é muito util para medir desempenho de uma aplicação, e é usada tipicamente para medir o tempo que se leva para realizar determinada tarefa.
             Existem diversas ferramentas que podem ser usadas para realizar esses testes de desempenho, elas já possuem alguns testes pré-definidos e mais complexos, mas nesse post vou falar de  uma técnica simples que pode ser usada pelo desenvolvedor em qualquer tipo de linguagem ou programa para auxilia-lo na medição de desempenho de sua aplicação, trata-se do Cronômetro Benchmark, que nada mais é que o uso de um relógio para medir o tempo que se leva para concluir determinada tarefa, aqui mostro a sua implementação no Java.
             Abaixo o exemplo de uma classe desenvolvida para simular o comportamento de um relógio, onde tenho 4 métodos: O start() responsável por iniciar o tempo, stop() que  interrompe a contagem do tempo, getTempoDecorrido() como o próprio nome  diz retorna o tempo decorrido entre o inicio e o fim da contagem do tempo e por ultimo o reset() que zera o relogio.

       O cronômetro pode ser usado por exemplo para medir o tempo que se leva para percorrer um laço:

       O tempo foi iniciado fora do laço e após ser percorrido todo o laço o tempo é parado e é obtido o tempo decorrido, assim pode-se ter uma noção do tempo de processamento desse laço de repetição e verificar se está tendo alguma perca de performance.
       Esse simples benchmark  que acabo de demonstrar pode ser de grande utilidade na medição de desempenho, com ele pode-se descobrir se sua aplicação está demorando muito tempo para realizar determinada tarefa, é interessante para identificar o porque de determinada operação está consumindo muito tempo e assim podermos otimizar seu processamento. Espero que essa pequena explicação seja útel, mais a frente voltarei a falar sobre o assunto, mostrado o uso dessa técnica de cronômetro para medir o desempenho de diversas estruturas de dados do Java.


    

segunda-feira, 10 de janeiro de 2011

TCC Concluido

Pronto TCC concluído e apresentado, graças a Deus mi formei, o tema foi Entendendo a Performance em Aplicações Java, foi muito trabalhoso, mas mi agregou muitos conhecimentos, agora terei mais tempo para postar aqui, postarei alguns tópicos importantes sobre minha monografia, e voltarei a postar sobre o SCJP afinal, tive que dar uma parada mas não desisti de fazer a prova! Abraço  a todos e até mais.