.. Resumen del trabajo
- ESTADO: TERMINADO
+ ESTADO: TERMINADO, CORREGIDO, REVISADO
-.. _ref_resumen:
+.. _resumen:
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 primero 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 la eficiencia de programas de
-larga vida y siendo la principal fuente de problemas de seguridad, entre
-otros problemas.
-
-Es por esto que se desde la primera aparición de lenguajes de más 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
+ \subsection*{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
+
+ \vfill
+ \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 :