lunedì 13 gennaio 2014

Efficienza

Alcune persone ritengono che le ottimizzazioni premature per un sistema sono la radice di ogni male. Al contrario, l'efficienza deve essere tenuta a mente durante gli sforzi di progettazione ed implementazione. Comunque non significa che il progettista deve preoccuparsi delle micro efficienze, ma deve considerare l'efficienza di primo ordine. La migliore strategia per produrre efficienza è la pulizia e una progettazione semplice. Solo questo tipo di progettazione può rimanere relativamente stabile durante il ciclo di vita del progetto, e serve da base alla calibrazione delle performance. Evitare il gigantismo che si nota nei progetti di grandi dimensioni è essenziale. Troppo spesso le persone aggiungono delle funzioni “solo in caso che”, e finiscono per duplicare o quadruplicare le dimensioni del programma, ed il tempo di esecuzione ne soffre. La cosa peggiore è che sistemi troppo elaborati, sono difficili da analizzare, e diventa difficile distinguere le componenti evitabili da quelle inevitabili. Quindi l'analisi di base e l'ottimizzazione viene scoraggiata. L'ottimizzazione deve essere il risultato delle analisi e delle misure delle performance, non una modifica a caso del codice. Specialmente per sistemi di grandi dimensioni le intuizioni del programmatore o del progettista non fanno da guida per l'efficienza del sistema. E' importante evitare costruzioni inefficienti di per sé, e attenzione nell'ottimizzare un livello accettabile di performance. Similarmente, è importante minimizzare l'uso di costrutti e programmi non portabili, in quanto condannano il programma ad essere eseguito su vecchi (meno potenti e/o più costosi) computer.  

Nessun commento:

Posta un commento