3 ESTADO: TERMINADO, CORREGIDO, REVISADO
9 ============================================================================
16 El manejo de memoria es un problema recurrente en los lenguajes de
17 programación; dada su complejidad es muy propenso a errores y las
18 consecuencias de dichos errores pueden ser muy graves. La *recolección de
19 basura* es el área de investigación que trata las técnicas de manejo
20 automático de memoria. D_ es un lenguaje de programación compilado, con tipado
21 estático y multi-paradigma que combina el poder de lenguajes de programación
22 de bajo nivel, como C, con la facilidad de los de alto nivel, como Python_
23 o Java_. D_ provee recolección de basura pero ha sido frecuentemente criticada
24 por sus varias falencias. Dadas las particularidades del lenguaje, plantea un
25 desafío casi único en cuanto al diseño de un recolector.
27 Este trabajo hace un recorrido por el estado del arte en recolección de basura
28 teniendo en cuenta los requerimientos de D_; analiza la implementación del
29 recolector actual y propone mejoras con el objetivo principal de minimizar los
30 tiempos de pausa. Finalmente se construye un banco de pruebas para verificar
31 los resultados, que muestran una disminución de hasta 200 veces en el tiempo
32 de pausa del recolector y de hasta 3 veces en el tiempo total de ejecución.
38 \section*{Agradecimientos}
40 A mis viejos y hermanos por soportarme y apoyarme, a Ali por estar siempre
41 para darme un empujoncito cuando me estanco, a Rosita por introducirme en el
42 tema, aguantar mis baches y ayudarme a mantener el foco, a Albertito por los
43 aportes técnicos invaluables a cambio de helado, y a la gente que me estoy
44 olvidando por hacer eso que me estoy olvidando que hizo.
49 \epigraph{¡Es basura! ¡Es basura! ¡Es basura!}{Jay Sherman}
53 \pagenumbering{arabic}
57 .. include:: links.rst
59 .. vim: set ts=3 sts=3 sw=3 et tw=78 spelllang=es :