Conosco solo un modo per rispondere a questa domanda, e cioè ottenere esperienza nell'ottimizzazione delle prestazioni. Ciò significa: scrivere programmi e dopo che sono scritti, trovare velocità in essi e farlo iterativamente. Ecco un esempio.
Ecco l'errore che la maggior parte delle persone fa: cercano di ottimizzare il programma prima che lo sta effettivamente eseguendo. Se hanno frequentato un corso di programmazione (da un professore che non ha molta esperienza pratica) avranno gli occhiali colorati grandi, e penseranno che questo è tutto su .
È lo stesso problema, l'ottimizzazione precedente. **
Qualcuno ha detto: prima fallo bene, quindi fallo velocemente.
Avevano ragione.
Ma ora per il kicker: se lo hai fatto un paio di volte, riconosci le cose sciocche che facevi prima, causando problemi di velocità, quindi evitali istintivamente.
(Cose come rendere la struttura della tua classe troppo pesante, inondare di notifiche, confondere la dimensione delle chiamate di funzione con il loro costo in termini di tempo, l'elenco potrebbe continuare all'infinito ...)
Eviti istintivamente queste cose, ma indovina cosa assomiglia ai meno esperti: ottimizzazione prematura!
Quindi questi stupidi dibattiti vanno avanti e avanti:)
** Un'altra cosa che dicono è che non devi più preoccupartene, perché i compilatori sono così bravi e le macchine sono così veloci al giorno d'oggi.
(KIWI - Kill It With Iron.)
Non ci sono aumenti esponenziali dell'hardware o del sistema (fatti da ingegneri molto intelligenti che lavorano duramente) che possono eventualmente compensare i rallentamenti esponenziali del software (fatti da programmatori che la pensano così).