Pela minha experiência, existem muitos fatores que influenciam isso, alguns deles estão praticamente fora da nossa possibilidade de influenciar.
Mas, existem duas formas de conseguir ter essa resposta que são utilizadas para resolver probemas de desempenho com mais facilidade.
A primeira delas é fazer uma análise da complexidade do teu código (o famoso Big O). Com essa análise, você poderá identificar pontos do teu código que podem ser melhorados para ter uma complexidade melhor. E, importante notar, que nesse caso, eu não me refiro à complexidade como o quão legível o teu código é, mas o quão complexas as operações que serão executadas são e, por consequência, o quanto de tempo de processamento será utilizado. Um exemplo da importancia disso é o caso de algoritmos de sort, pois existem várias formas de implementar o sort de um array, mas algumas são mais eficientes do que outras.
A segunda forma, é você realizar um teste de estresse na tua aplicação e monitorar como ela se comporta nesse cenário. Então, por exemplo, vamos supor que você suba uma máquina EC2 na AWS, com um microserviço Java, você pode utilizar o Jmeter para gerar massa e tráfego para a tua aplicação, e utilizar o VisualVM ou algo do tipo para coletar informações da JVM e compreender onde estão os gargalos da tua aplicação...
De qualquer forma, é sempre bom ter em mente as boas práticas e conhecer a linguagem que você está utilizando, por exemplo, acessar o banco de dados é sempre custoso, então você deve buscar apenas o necessário quando for necessário, em java, concatenar strings provoca muito trafego de memória, o que é custoso também, então se tu sabe que vai precisar ficar concatenando strings, é melhor utilizar um StringBuilder, que é muito mais eficiente nisso. Além disso, as linguagens podem ter recursos que podem melhorar o desempenho do código em tempo de compilação, como é o caso de Branch Prediction em Java, e saber dessas peculiaridades podem influenciar na forma como você desenvolverá o teu código para torná-lo mais eficiente.
E no geral, não se despere quando notar que existe muita coisa que influencia nisso e, por consequência, muita coisa para aprender. O jeito é manter a constãncia e não desistir.