Thursday, October 12, 2006

Un poquito de Protothreades, Duff’s Device y Loop-Unrolling

Para los que desean meterse mas al rollo de protothreads y otros trucos de optimización
vean este link

http://it.slashdot.org/article.pl?sid=05/10/06/2223232&from=rss

esta en ingles pero esta interesante, y menciona a duff’s device.

Si se pierden con duff's device y no sabes que beneficio da, vean este articulo sobre loop-unrolling donde duff's device es un tipo de loop-unrolling. Loop-unrolling consiste en forzar la optimización de un loop, con conocimientos previos de como el compilador optimiza. Como verán esta es otro ejemplo donde el estudio de compiladores y clases similares ayudan en otros campos, como la programación.

Si se desea conocer más de loop unrolling lean este paper de una forma de loop unrolling propuesta. http://www2.cs.uh.edu/~jhuang/JCH/JC/loop.pdf#search=%22loop%20unrolling%22

Por cierto el termino loop unrolling o desenrollado de una iteración viene del hecho de que se "desenrolla" la iteración para que haga mas trabajo en menos iteraciones.

Aunque todavía tengo que pensar de cómo implemento en vida real duff’s device. El loop-unrolling mencionado en el link anterior es mas fácil de implementar, pero el duff’s device si esta medio “fumado” como dicen por allí.