Variabili al posto dei numeri

Pillole di Basic #2

Al fine di ottimizzare le prestazioni del vostro programma è consigliabile utilizzare le variabili al posto dei numeri nei frammenti di codice utilizzati più frequentemente. Esempio:

Versione standard Versione ottimizzata
POKE 53280,0 POKE V,A

(Naturalmente i valori alle variabili devono essere assegnati prima del loro utilizzo).

Questo è dovuto al fatto che quando l’interprete incontra un numero, prima di poterlo utilizzare, deve convertirlo in un numero binario, di tipo float o integer (a seconda dell’istruzione), e questa operazione ha un rilevante costo computazionale. Il valore di una variabile invece è già memorizzato in binario all’interno della memoria (la conversione in binario è stata già fatta in fase di dichiarazione o dopo un calcolo).

Il seguente esempio serve a chiarire i guadagni in termini di performance del codice ottimizzato:

Il programma visibile nella prima immagine svolge la stessa funzione del programma nella seconda immagine. Entrambi cambiano ripetutamente il colore del bordo e come si può vedere lo fanno a una frequenza diversa. Infatti il primo programma, quello ottimizzato, riesce a cambiare il colore del bordo con una frequenza maggiore (lo schermo del C64 PAL viene aggiornato ogni 1/50 sec) rispetto al secondo. Come già precedentemente spiegato questo è dovuto al fatto che l’esecuzione dei POKE è più veloce quando si utilizzano le variabili, invece dei numeri.

Have your say