Eu só queria pular aqui e oferecer um caso incomum em que ....
* OS CLIENTES QUE CUIDAM DE DESEMPENHO E AVISAM CADA MUDANÇA! .
É no meu campo que cobrimos a renderização da produção que tende a ser analisada até a morte em termos de desempenho pelos próprios clientes. Uma desaceleração de 2% no desempenho em relação a uma versão secundária pode ser igual à desaceleração relatada na forma de "relatórios de erros" em massa.
Os tópicos do fórum geralmente são iniciados com os clientes comparando suas cenas com várias versões do software, onde os clientes estão comparando mais do que os próprios desenvolvedores. "Esta cena levou 1 hora e 40 minutos para renderizar na versão X. Agora são necessários 32 minutos na versão Y."
"Esta cena levou 18 minutos para carregar na versão X, agora leva 4 minutos para carregar na versão Y."
Eles são extremamente gratos quando as otimizações são aplicadas, e isso por si só pode ser suficiente para garantir a compra de uma nova atualização muito cara do software e, às vezes, com apenas melhorias modestas, como uma redução de 10% no tempo.
Em alguns contextos maiores, também pode economizar enormes quantias de dinheiro para o cliente quando o produto é acelerado, uma vez que alguns estúdios maiores usam fazendas de renderização onde precisam pagar por centenas de máquinas renderizadas o dia todo, e qualquer melhoria nos tempos aqui pode acelere todo o seu processo de produção (e possivelmente até produz melhores resultados quando os artistas são mais produtivos criando arte do que esperando que ela seja renderizada).
Portanto, existem campos como este em que os clientes percebem realmente, realmente, realmente - às vezes até mais do que os próprios desenvolvedores, e isso está fora dos conceitos de interação da interface do usuário, que são mais sobre latência do que taxa de transferência.
Com que frequência os programadores precisam se esforçar para "escrever" as análises de desempenho para as quais o público não é um programador, mas um gerente e um cliente?
No nosso caso, o tempo todo, com quase todos os lançamentos menores. A velocidade é um dos principais pontos de venda, e mesmo os benchmarks e análises de desempenho mais técnicos são realmente apreciados e compreendidos pelos clientes e gerentes. A percepção dos clientes geralmente é como lobos raivosos, ávidos por mais otimizações e tentando fazer sugestões aos desenvolvedores sobre como potencialmente tornar as coisas mais rápidas. Nesse caso, é necessário disciplina para resistir a alguns dos desejos do cliente de otimizar ainda mais e se concentrar em outras métricas, como manutenção e aprimoramentos de recursos.
Thread.Sleep(1000); //pretend this does more than change a 0 to a 1 in the database.