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.
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica