Benchmark

Existem várias ferramentas para avaliar aplicativos. Você pode utilizar a classe Stats e a classe PerformanceTest, desenvolvidas por membros da comunidade Flash. Você pode também utilizar o gerador de perfil no Adobe® Flash® Builder™, e a ferramenta FlexPMD.

A classe Stats

Para gerar o perfil do seu código no tempo de execução usando a versão de lançamento do tempo de execução, sem uma ferramenta externa, você pode usar a classe Stats desenvolvida por mr. doob da comunidade Flash. Você popde baixar a classe Stats do seguinte endereço: https://github.com/mrdoob/Hi-ReS-Stats .

A classe Stats permite que você registre os seguintes itens:
  • Quadros renderizados por segundo (quanto maior o número, melhor).

  • Milisegundos utilizados para renderizar um quadro (quanto menos o número, melhor).

  • A quantidade de memória utilizada pelo código. Caso aumente a cada quadro, é possível que sua aplicação tenha um vazamento de memória. É importante investigar o possível vazamento de memória.

  • A quantidade máxima de memória utilizada pelo aplicativo.

Uma vez baixada, a classe Stats pode ser utilizada com o seguinte código compacto:

import net.hires.debug.*; 
addChild( new Stats() );

Ao usar compilação condicional no Adobe® Flash® Professional ou Flash Builder, você pode habilitar o objeto Stats:

CONFIG::DEBUG 
{ 
    import net.hires.debug.*; 
    addChild( new Stats() ); 
}

Ao alterar o valor da constante DEBUG , você pode habilitar ou desabilitar a compilação do objeto Stats. A mesma aproximação pode ser utilizada para substituir qualquer lógica de código que você não queira que seja compilada em seu aplicativo.

A classe PerformanceTeste

Para avaliar a execução de código ActionScript, Grant Skinner desenvolveu uma ferramenta que pode ser integrada em um fluxo de trabalho de unidade de teste. Você envia uma classe personalizada para a classe PerformanceTest, a qual fará uma série de testes em seu código. A classe PerformanceTest permite que você avalie aproximações diferentes facilmente. O download da classe PerformanceTest pode ser feito em: http://www.gskinner.com/blog/archives/2009/04/as3_performance.html .

Gerador de perfil do Flash Builder

O Flash Builder possui um gerador de perfil que você avalie seu código com um grande nível de detalhe.

Nota: Utilize a versão de depuração do Flash Player para acessar o gerador de perfil. ou você receberá uma mensagem de erro.

O gerador de perfil também pode ser usado com conteúdo produzido no Adobe Flash Professional. Para fazer isso, carregue o arquivo SWF compilado de um projeto ActionScript ou Flex no Flash Builder e você poderá executar o gerador de perfil nele. Para obter mais informações sobre o gerador de perfil, consulte “Criando perfis de aplicativos Flex” em Uso do Flash Builder 4 .

FlexPMD

Os serviços técnicos da Adobe lançaram uma ferramenta chamada FlexPMD. que permite que você audite a qualidade do código do ActionScript 3.0. FlexPMD é uma ferramenta de ActionScript similar ao JavaPMD. O FlexPMD melhora a qualidade do código auditando um diretório fonte de ActionScript 3.0 ou Flex. Ele detecta práticas de codificação ruins, como código não utilizado, código excessivamente complexo, excessivamente longo e o uso incorreto do ciclo de vida do componente Flex.

O FlexPMD é um projeto de código aberto da Adobe disponível no endereço: http://opensource.adobe.com/wiki/display/flexpmd/FlexPMD . Um plug-in Eclipse também está disponível no seguinte endereço: http://opensource.adobe.com/wiki/display/flexpmd/FlexPMD+Eclipse+plugin .

O FlexPMD torna fácil auditar código e garantir que seu código está limpo e otimizado. O verdadeiro poder do FlexPMD está em sua extensibilidade. Como desenvolvedor, você pode criar seus próprios conjuntos de regras para auditar qualquer código. Por exemplo, você pode criar um conjunto de regras que detecte o uso pesado de filtros, ou qualquer outra prática ruim de codificação que você quiser pegar.