Sólo conozco una forma de responder a esta pregunta, y es obtener experiencia en el ajuste del rendimiento. Eso significa: escribe programas, y después se escriben, encuentra aceleraciones en ellos y hazlo de manera iterativa. Aquí hay un ejemplo.
Este es el error que cometen la mayoría de las personas: intentan optimizar el programa antes que realmente lo ejecuta. Si han tomado un curso de programación (de un profesor que en realidad no tiene mucha experiencia práctica) tendrán gafas de color de gran O, y pensarán que de eso se trata todo .
Es todo el mismo problema, optimización previa. **
Alguien dijo: Primero hazlo bien, luego hazlo rápido.
Tenían razón.
Pero ahora para el pateador: si has hecho esto varias veces, reconoces las cosas tontas que hiciste anteriormente que causan problemas de velocidad, por lo que las evitas por instinto.
(Cosas como hacer que la estructura de su clase sea demasiado pesada, abrumarse con notificaciones, confundir el tamaño de las llamadas de función con su costo de tiempo, la lista sigue y sigue ...)
Usted evita estos instintivamente, pero adivine qué aspecto tiene el menos experimentado: ¡ optimización prematura!
Así que estos debates tontos siguen y siguen :)
** Otra cosa que dicen es que ya no tienes que preocuparte más, porque los compiladores son muy buenos y las máquinas son muy rápidas en la actualidad.
(KIWI - Mátalo con hierro.)
No hay aceleraciones de hardware o de sistema exponenciales (hechas por ingenieros muy inteligentes que trabajan duro) que posiblemente puedan compensar las desaceleraciones de software exponenciales (hechas por programadores que piensan de esta manera).