X-Git-Url: https://git.llucax.com/z.facultad/75.00/presentacion.git/blobdiff_plain/2344ba9aca46df3a2522d5fbf10927d229f28cbf..3f0d137266f7938e3318e9bb2f6517775609b8d8:/presentacion.rst?ds=inline diff --git a/presentacion.rst b/presentacion.rst index 86feffb..38f3551 100644 --- a/presentacion.rst +++ b/presentacion.rst @@ -45,8 +45,8 @@ Introducción Algoritmos Clásicos ~~~~~~~~~~~~~~~~~~~ * Conteo de referencias -* **Marcado y barrido** * Copia de semi-espacio +* **Marcado y barrido** .. raw:: latex @@ -264,9 +264,10 @@ Precisión ~~~~~~~~~ Adaptación del trabajo de Vincent Lang y David Simcha: -* Compilador genera información sobre ubicación de los punteros en un tipo +* Compilador genera información sobre ubicación de los punteros para cada tipo + de dato - * Indica si una *palabra* debe ser escaneada (uniones) + * Indica si una *palabra* debe ser escaneada * Indica si una palabra es un puntero * Se pasa esa información al recolector al momento de pedir memoria @@ -359,7 +360,6 @@ Métricas * Tiempo máximo de *stop-the-world* * Tiempo máximo de pausa real * Cantidad máxima de memoria utilizada -* Cantidad total de recolecciones realizadas Gráficos de Corridas @@ -375,22 +375,16 @@ Tiempo Máximo de Pausa Real .. image:: img/norm-hist-pause.pdf :width: 12.5cm +Cantidad Máxima de Memoria Utilizada +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.. image:: img/norm-hist-mem.pdf + :width: 12.5cm Tiempo Total de Ejecución ~~~~~~~~~~~~~~~~~~~~~~~~~ .. image:: img/norm-hist-time.pdf :width: 12.5cm -Cantidad total de recolecciones realizadas -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.. image:: img/norm-hist-ncol.pdf - :width: 12.5cm - -Cantidad máxima de memoria utilizada -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.. image:: img/norm-hist-mem.pdf - :width: 12.5cm - Conclusión @@ -401,11 +395,28 @@ Conclusión Resumen ~~~~~~~ -* Recolección de basura → Inagotable -* D → Multi-paradigma → Desafío -* Recolección de basura en D → Fértil -* Mejoras propuestas → Efectivas -* Resultados → Positivos: Esperados + Inesperados +* Objetivo principal + + Minimizar tiempo de pausa para programas reales + + Tiempo de pausa de Dil: + + * *Stop-the-world* **160 veces menor** (1.66s → 0.01s) + * Pausa real **40 veces menor** (1.7s → 0.045s) + +* Objetivo secundario + + No empeorar mucho el recolector actual en ningún aspecto + + Utilización de memoria de Dil: + + **50% mayor** (mucho *overhead* por marcado preciso) + +* Yapa + + Tiempo total de ejecución de Dil: + + Casi **3 veces menor** (55s → 20s) Problemas, Limitaciones y Puntos Pendientes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~