]> git.llucax.com Git - z.facultad/75.00/informe.git/blobdiff - source/resumen.rst
Reescribir resumen
[z.facultad/75.00/informe.git] / source / resumen.rst
index b352428f70db5b4fdf0725f422ef24b0ea2a0c24..a75391994f82631f30071f51260e07e56723ba66 100644 (file)
@@ -12,39 +12,23 @@ Resumen
 
    \section*{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.
+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
@@ -59,4 +43,6 @@ 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.
 
 
+.. include:: links.rst
+
 .. vim: set ts=3 sts=3 sw=3 et tw=78 spelllang=es :