Aunque no estoy 100% seguro de lo que estás pidiendo, aquí va ...
El problema que aborda el dispositivo de Duff es el de desenrollar el bucle (como sin duda habrás visto en el enlace Wiki que publicaste). Lo que esto básicamente equivale a una optimización de la eficiencia del tiempo de ejecución, sobre la huella de la memoria. El dispositivo de Duff se ocupa de la copia en serie, en lugar de cualquier problema antiguo, pero es un ejemplo clásico de cómo se pueden hacer optimizaciones al reducir la cantidad de veces que se necesita hacer una comparación en un bucle.
Como un ejemplo alternativo, que puede hacer que sea más fácil de entender, imagine que tiene una serie de elementos que desea recorrer, y agregue 1 a ellos cada vez ... por lo general, puede usar un ciclo for, y recorrer alrededor de 100 veces . Esto parece bastante lógico y, sin embargo, es ... sin embargo, se puede hacer una optimización desenrollando el bucle (obviamente no demasiado lejos ... o bien puede simplemente no usar el bucle).
Entonces, un ciclo for regular:
for(int i = 0; i < 100; i++)
{
myArray[i] += 1;
}
se convierte
for(int i = 0; i < 100; i+10)
{
myArray[i] += 1;
myArray[i+1] += 1;
myArray[i+2] += 1;
myArray[i+3] += 1;
myArray[i+4] += 1;
myArray[i+5] += 1;
myArray[i+6] += 1;
myArray[i+7] += 1;
myArray[i+8] += 1;
myArray[i+9] += 1;
}
Lo que hace el dispositivo de Duff es implementar esta idea, en C, pero (como viste en el Wiki) con copias en serie. Lo que está viendo arriba, con el ejemplo desenrollado, son 10 comparaciones en comparación con 100 en el original, lo que equivale a una optimización menor, pero posiblemente significativa.