Resumen
============================================================================
-**RESUMEN**
-
-El problema del manejo de memoria ha sido un factor clave en los lenguajes de
-programación desde que empezaron a forjarse los primeros lenguajes con un
-mínimo nivel de abstracción, dado que la administración de memoria explícita
-ha sido un flagelo constante en el mundo de la informática, provocando
-pérdidas de memoria que degradan el rendimiento de programas de larga vida
-y siendo la principal fuente de problemas de seguridad, entre otros.
-
-Es por esto que desde la primera aparición de lenguajes de alto nivel, se
-buscó abstraer al programador de administrar la memoria explícitamente,
-desarrollando un área de investigación por mérito propio denominada
-**recolección de basura** (o *garbage collection* en inglés). Se trata de un
-servicio (provisto generalmente por el lenguaje) que permite auto-detectar
-cuando una celda de memoria ha dejado de ser utilizada por el programa para
-poder ser reciclada en el futuro, liberando al programador de llevar cuenta
-del tiempo de vida de una celda y su liberación explícita cuando ésta deja de
-utilizarse.
-
-D es un lenguaje de programación multi-paradigma, que soporta programación de
-bajo nivel pero provee construcciones de muy alto nivel también, incluyendo un
-*recolector de basura*. Dadas las amplias y variadas características del
-lenguaje, D propone un nuevo desafío en cuanto al diseño de un recolector de
-basura, y si bien D ya cuenta con un recolector que hace lo necesario para
-funcionar de forma aceptable, su diseño e implementación son relativamente
-sencillas comparadas con el estado del arte de la recolección de basura en
-general.
-
-El objetivo de este trabajo es explorar los problemas del recolector de basura
-actual, evaluar cuales son de mayor importancia para la comunidad, analizar la
-viabilidad de algoritmos y optimizaciones para mejorarlo, implementar la
-solución y proveer todos los elementos necesarios para que la solución pueda
-ser adoptada por el lenguaje. Esto último es de vital importancia para este
-trabajo: la solución tiene que tener buenas probabilidades de ser aceptada por
-la comunidad de D.
-
-
-.. vim: set ts=3 sts=3 sw=3 et tw=78 :
+.. raw:: latex
+
+ \pagestyle{empty}
+ \section*{Resumen}
+
+El manejo de memoria es un problema recurrente en los lenguajes de
+programación; dada su complejidad es muy propenso a errores y las
+consecuencias de dichos errores pueden ser muy graves. La *recolección de
+basura* es el área de investigación que trata las técnicas de manejo
+automático de memoria. D_ es un lenguaje de programación compilado, con tipado
+estático y multi-paradigma que combina el poder de lenguajes de programación
+de bajo nivel, como C, con la facilidad de los de alto nivel, como Python_
+o Java_. D_ provee recolección de basura pero ha sido frecuentemente criticada
+por sus varias falencias. Dadas las particularidades del lenguaje, plantea un
+desafío casi único en cuanto al diseño de un recolector.
+
+Este trabajo hace un recorrido por el estado del arte en recolección de basura
+teniendo en cuenta los requerimientos de D_; analiza la implementación del
+recolector actual y propone mejoras con el objetivo principal de minimizar los
+tiempos de pausa. Finalmente se construye un banco de pruebas para verificar
+los resultados, que muestran una disminución de hasta 200 veces en el tiempo
+de pausa del recolector y de hasta 3 veces en el tiempo total de ejecución.
+
+
+.. raw:: latex
+
+ \vfill
+ \section*{Agradecimientos}
+
+A mis viejos y hermanos por soportarme y apoyarme, a Ali por estar siempre
+para darme un empujoncito cuando me estanco, a Rosita por introducirme en el
+tema, aguantar mis baches y ayudarme a mantener el foco, a Albertito por los
+aportes técnicos invaluables a cambio de helado, y a la gente que me estoy
+olvidando por hacer eso que me estoy olvidando que hizo.
+
+.. raw:: latex
+
+ \vspace{1in}
+ \epigraph{¡Es basura! ¡Es basura! ¡Es basura!}{Jay Sherman}
+
+ \clearpage
+ \setcounter{page}{1}
+ \pagenumbering{arabic}
+ \pagestyle{normal}
+
+
+.. include:: links.rst
+
+.. vim: set ts=3 sts=3 sw=3 et tw=78 spelllang=es :