Introdução ao desempenho de aplicativos do Windows
O desempenho é um aspecto do desenvolvimento de software que se concentra em medir e melhorar o código. Depois de ler este artigo, você terá uma ideia melhor de: o que o desempenho implica, por que é importante para você e seus clientes e como começar a medir o desempenho do seu aplicativo.
O que é desempenho de aplicativos?
O desempenho é a medida da eficácia com que seu aplicativo usa os recursos do sistema para fazer o que você o projetou para fazer. Ele abrange diferentes aspectos de como seu programa interage com o dispositivo subjacente. Isso pode incluir coisas como:
- Uso da CPU
- Consumo de memória
- Consumo de energia
- Utilização de rede e armazenamento
- Desempenho de animação
... e muito mais.
Todas essas propriedades diferentes têm um elemento de custo associado a elas: por exemplo, quanta CPU meu aplicativo usa? Quanto da largura de banda do usuário ele consumirá? Com que rapidez essa página específica do meu aplicativo é carregada? A medição é, portanto, fundamental para o desempenho.
Por que isso é importante?
Os usuários esperam o desempenho como uma propriedade fundamental do software que usam. Eles querem que seus aplicativos sejam responsivos e façam uso eficiente dos recursos de seus sistemas. Aplicativos que apresentam baixo desempenho causam frustração, o que pode levar à redução do envolvimento do usuário. Para fornecer aos seus clientes a melhor experiência possível, é crucial tornar o desempenho uma parte regular do seu fluxo de trabalho de desenvolvimento.
Quando você deve medir o desempenho do aplicativo?
O desempenho do aplicativo pode abranger muitos estágios do processo de desenvolvimento. Ele tem implicações em tudo, desde a escolha da estrutura de dados até a tecnologia que você escolhe para criar seu aplicativo.
Lembre-se do desempenho ao desenvolver seu aplicativo e planeje fazer testes de desempenho regulares como parte da atualização e manutenção de seu aplicativo.
Como o desempenho do aplicativo é medido?
Aqui estão algumas sugestões sobre como abordar o teste de desempenho do seu aplicativo.
- Aproveite seu conhecimento de sua aplicação. Compreender os cenários mais comuns para seus usuários permitirá que você gaste seu tempo com sabedoria na otimização das coisas certas. Cenários pouco claros podem dificultar a interpretação de suas medições, portanto, não pule esta etapa! Se você tiver dados disponíveis sobre como os usuários interagem com seu aplicativo, esse seria um ótimo momento para examiná-los.
- Onde seus usuários passam a maior parte do tempo?
- Quais são as coisas mais importantes que um cliente fará com seu software?
- Quais são os requisitos de hardware do seu aplicativo?
- Defina metas de desempenho para seus cenários de usuário mais importantes.
- Seja preciso sobre o que você está tentando otimizar. É CPU? Bateria? Taxa de transferência de rede?
- Selecione as ferramentas que você usará para fazer suas medições.
- Aplique uma mentalidade científica ao testar. Crie benchmarks em um ambiente controlado. Em seguida, faça a alteração e meça novamente para ver como as alterações afetaram o comportamento do aplicativo.
- Adicione testes de regressão ao seu ambiente de teste. Isso garantirá que suas métricas de desempenho não regridam com o tempo. O hardware moderno é complexo e medir o impacto de suas melhorias de desempenho pode ser um desafio. Investigar, medir e testar o desempenho do aplicativo dessas maneiras garantirá que você conheça o impacto do seu trabalho.
Métricas entrelaçadas
Embora você normalmente se concentre em uma área de desempenho durante sua análise, esteja ciente de que as áreas geralmente estão interligadas. Uma melhoria em um pode se transformar em uma melhoria nas outras áreas.
Por exemplo, corrigir o consumo de energia é frequentemente um problema de sincronização. Reduzir o uso de memória pode resultar na redução do tempo gasto usando a CPU.
Também pode haver situações em que recursos adicionais gastos em uma área geram uma melhoria mais impactante em outra área.
Por exemplo, aumentar o consumo de memória pode diminuir a utilização da rede ou do armazenamento por meio do cache.
A decisão de fazer uma mudança depende do que é mais importante para seus clientes. Também faz parte do desafio (e diversão!) do trabalho de performance.
Próximas etapas
Com esse histórico em vigor, aqui estão algumas ações que você pode tomar agora:
- Identifique os cenários mais comuns do seu aplicativo. Estes serão a base do que você está tentando medir.
- Descubra sua estratégia de teste. Qual será o seu ambiente de teste e escolha de ferramentas de medição?
Acesse a visão geral do desempenho do aplicativo Windows para saber mais sobre as ferramentas e diretrizes disponíveis para você usar em sua jornada de desempenho.
Windows developer