Se você precisa começar a pensar em desempenho, está com problemas. Você deve estar pensando em desempenho o tempo todo. De fato, suspeito que bons programadores vão pensar em desempenho, mesmo quando não pretendiam, da maneira "homens pensam em sexo a cada sete segundos".
O importante é que ações você tomará com base em todo esse pensamento. Pensamentos são baratos, mas as ações podem quebrar o código e estourar os prazos.
Na maioria das vezes, a única ação sensata é não fazer nada: você identificou que seu trecho de código não será chamado com freqüência suficiente para que os problemas de desempenho sejam observáveis - talvez seja um trecho de código de inicialização que seja executado uma vez por computador para 1% da sua base de usuários em potencial, talvez seja um pequeno código de servidor redundante afogado em um mar de acessos lentos ao banco de dados, talvez seja apenas uma atribuição de número inteiro em uma seção não crítica do código.
Freqüentemente, você suspeita que uma determinada operação possa causar um problema de desempenho que pode ser resolvido com uma simples alteração. Por exemplo, a sensação incômoda de que executar uma consulta SQL complexa em todas as solicitações ou solicitar o mesmo pedaço de dados de um dicionário duas vezes será ruim para você. É aqui que o conhecimento das técnicas de otimização é útil, e talvez a conclusão mais surpreendente ocorra:
Se você conhece uma técnica rápida que certamente irá melhorar o desempenho de um pedaço de código, não faça isso.
Se você pode pensar nisso agora, certamente poderá fazê-lo em cinco minutos depois. Mantê-lo fora do código (mas, talvez, em um // TODO
comentário) deixa o código mais limpo e economiza tempo anterior para trabalhar em outro recurso, sem perder tempo se você acabar jogando o código fora mais tarde. Se o código original causar problemas de desempenho ao ser testado, volte e aplique sua técnica rápida.
Não estou dizendo aqui que você deve evitar escrever código idiomático apenas porque é mais rápido. Escreva código idiomático de acordo com as práticas recomendadas que melhoram a produtividade e a legibilidade e reduzem os erros. Apenas se você tiver uma escolha entre o código idiomático do manual e uma alternativa mais rápida, mas fácil de escrever, sempre busque a legibilidade em vez da velocidade.
A única situação difícil é quando parece não haver uma maneira fácil de melhorar o desempenho do código e, no entanto, é dolorosamente óbvio que um pedaço de código será quebrado assim que for entregue - um percurso completo do banco de dados a cada clique, centenas de solicitações SQL por página no site ou qualquer coisa igualmente terrível. É aqui que você realmente precisa parar e pensar um pouco mais. Normalmente, esses são problemas de arquitetura que não podem ser resolvidos em escala local. Confirme suas suspeitas com um pico ou protótipo rápido, procure experiências semelhantes e soluções comuns e considere uma mudança de arquitetura ou uma queda de recursos.