# Resultados

Este directorio contiene todos los resultados recolectados para realizar es trabajo y en particular el informe. A continuación se describe el contenido de los subdirectorios:

mark-depth
  Contiene los resultados en bruto y gráficos generados al analizar el impacto de la recursividad máxima permitida al marcar recursivamente.
mempat
  Contiene los resultados en bruto y gráficos generados al analizar la cantidad de memoria que queda inutilizable por la forma en la que el heap del recolector está organizada en bloques de tamaño fijo.
plots

  Contiene todos los gráficos generados al correr el banco de pruebas. El nombre de los archivos se estructuran de la siguiente manera:

      TIPO-PROGRAMA-Ncpu.pdf

  Donde `TIPO` es el tipo de gráfico (indica lo que mide el gráfico), `PROGRAMA` es el nombre del programa del banco de pruebas que se ejecutó para generar el gráfico y `N` es la cantidad de procesador usados para ese gráfico.

  Los `TIPO` de gráfico son:

  `mem`
    Muestran el uso máximo de memoria.
  `ncol`
    Muestran la cantidad de recolecciones realizada.
  `pause`
    Muestra el tiempo máximo de pausa real del recolector.
  `stw`
    Muestra el tiempo máximo que todos los hilos del programa están pausados debido al recolector.
  `time`
    Muestra el tiempo de ejecución total del programa.
raw-collect

  Son los resultados en bruto (el archivo generado por la opción `collect_stat_file` del recolector) de las corridas del banco de pruebas. El nombre de los archivos se estructuran de la siguiente manera:

      collect-PROGRAMA-cdgc-OPCIONES-Ncpu-CORRIDA.csv

  Donde `PROGRAMA` es el nombre del programa del banco de pruebas que se ejecutó para generar el archivo, `OPCIONES` son las opciones pasadas el recolector CDGC (en el formato en que se especifican vía la variable de entorno `D_GC_OPTS`), `N` es la cantidad de procesador usados para esa corrida y `CORRIDA` es un número de serie para diferenciar las diferentes corridas sobre las cuales se generan los datos estadísticos de mínima, media, máxima y desvío estándar mostrado en los gráficos.

raw-exesize

  Son los resultados en bruto obtenidos para medir el impacto del tamaño del ejecutable sobre el tiempo total de ejecución y consumo máximo de memoria. El nombre de los archivos se estructuran de la siguiente manera:

      exesize-timemem-PROGRAMA-basic-MODO.csv

  Donde `PROGRAMA` es el nombre del programa del banco de pruebas que se ejecutó para generar el archivo y `MODO` es debug si el programa fue compilado con símbolos de debug o stripped si éstos fueron eliminados.

raw-min_free

  Son los resultados en bruto de las corridas del banco de pruebas al analizar el impacto de la opción `min_free`. Hay dos tipos de archivos presentes, uno es el archivo generado por la opción `collect_stat_file` del recolector y el nombre de los archivos de este tipo se estructuran de la siguiente manera:

      min_free-collect-PROGRAMA-cdgc-OPCIONES-Ncpu-CORRIDA.csv

  Donde `PROGRAMA` es el nombre del programa del banco de pruebas que se ejecutó para generar el archivo, `OPCIONES` son las opciones pasadas el recolector CDGC (en el formato en que se especifican vía la variable de entorno `D_GC_OPTS`; en este caso solo se pasa `min_free`), `N` es la cantidad de procesador usados para esa corrida y `CORRIDA` es un número de serie para diferenciar las diferentes corridas sobre las cuales se generan los datos estadísticos de mínima, media, máxima y desvío estándar.

  El otro tipo de archivo recolecta el tiempo total de ejecución del programa y el uso máximo de memoria y el nombre de sus archivos se estructura de la siguiente manera:

      min_free-timemem-PROGRAMA-cdgc-OPCIONES-Ncpu.csv

  El significado de cada variable es el mismo que con el mencionado anteriormente pero en este caso no hay un número de serie.

raw-setarch

  Son los resultados en bruto obtenidos para medir el impacto de la forma en que Linux administra el espacio de direcciones de memoria para un proceso. El nombre de los archivos se estructuran de la siguiente manera:

      setarch-timemem-PROGRAMA-basicOPT.csv

  Donde `PROGRAMA` es el nombre del programa del banco de pruebas que se ejecutó para generar el archivo y `OPT` es la opción pasada al programa `setarch` utilizado para correr las pruebas. Para más detalles sobre el significado de cada opción, consultar la página de manual de `setarch`.

raw-timemem

  Son los resultados en bruto del tiempo total de ejecución y consumo máximo de memoria al realizar las corridas del banco de pruebas. El nombre de los archivos se estructuran de la siguiente manera:

      timemem-PROGRAMA-GC-OPCIONES-Ncpu.csv

  Donde `PROGRAMA` es el nombre del programa del banco de pruebas que se ejecutó para generar el archivo, `GC` es el recolector utilizado (`basic` es el original de Tango y `cdgc` el desarrollado en este trabajo), `OPCIONES` son las opciones pasadas el recolector CDGC (no se pasan opciones al recolector original de Tango; las opciones se especifican de la misma forma en la que se pasan al recolector vía la variable de entorno `D_GC_OPTS`) y `N` es la cantidad de procesador usados para esa corrida.

to-plot
  Son los resultados almacenados en los directorios `raw-collect` y `raw-timemem` post-procesados para generar los gráficos almacenados en el directorio `plots` (estos archivos y los gráficos muestran exactamente la misma información, organizada de la misma forma).