Copy propagation
La copy propagation è una tecnica di ottimizzazione utilizzata dai compilatore per migliorare le prestazioni dei programmi informatici. La tecnica provvede a evitare copie multiple della stessa variabile eliminando eventuali variabili intermedie che vengono utilizzate come alias dai programmatori.
Per esempio il seguente frammento di codice:
y = x z = 3 + y
verrà convertito con la copy propagation nel seguente codice
z = 3 + x
La tecnica elimina inutili copie di dati tra le variabili, riducendo il codice e migliorando le prestazioni del codice in esecuzione. Questa tecnica si avvale spesso anche di tecniche di analisi dei grafi che individuano i valori reali delle variabili saltando tutti i passaggi intermedi.
La copy propagation è un'ottimizzazione che non fa specifiche assunzioni sul tipo di codice o sulla struttura hardware che lo eseguirà e viene spesso utilizzata dopo che sono state eseguite altre ottimizzazioni per eliminare inutili variabili temporanee create durante i processi intermedi.
Bibliografia
modifica- Muchnick, Steven S. Advanced Compiler Design and Implementation. Morgan Kaufmann. 1997.