sábado, 24 de diciembre de 2011
El riesgo de la meta-progamación en C++
El riesgo de abusar de los templates es este: una compilación excesivamente costosa, casi inviable con muchos ordenadores. En la captura se muestra un ejemplo de corbasim donde se recorre varias veces durante la compilación una lista de tipos de 200 elementos. A su vez, cada iteración sobre esos 200 elementos conlleva iteraciones sobre otras listas de tipos derivadas. El resultado es una compilación que llega a provocar paginación, al consumir toda la memoria disponible (y más).
La versión de GCC que utilizo es la 4.4.3. Es probable que en versiones posteriores mejore algo la compilación, pero aún así a día de hoy resulta inviable una compilación de más de media hora para simples herramientas de test. toca optimizar la compilación para generar código eficiente en un tiempo razonable.
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario