]> git.llucax.com Git - z.facultad/75.00/informe.git/commitdiff
Mencionar problema de fragmentación
authorLeandro Lucarella <llucax@gmail.com>
Fri, 19 Jun 2009 23:54:06 +0000 (20:54 -0300)
committerLeandro Lucarella <llucax@gmail.com>
Fri, 19 Jun 2009 23:54:06 +0000 (20:54 -0300)
source/gc.rst

index a1eb36080314e62a361ad32bfef5f7e8364a45a7..6abc764357d16f414b1794df82df06d28af10bc1 100644 (file)
@@ -1687,7 +1687,16 @@ utiliza para asignar nuevas celdas de forma lineal, asumiendo un *heap*
 contiguo, incrementando un puntero (ver figura :vref:`fig:gc-copy`).  Esto se
 conoce como *pointer bump allocation* y es, probablemente, la forma más
 eficiente de asignar memoria (tan eficiente como asignar memoria en el
-*stack*).
+*stack*). Esto permite además evitar el problema de la *fragmentación* de
+memoria [#gcfrag]_ que normalmente afectan a los otros algoritmos clásicos (o
+sus *low level allocators*).
+
+.. [#gcfrag] La *fragmentación* de memoria sucede cuando se asignan objetos
+   de distintos tamaños y luego libera alguno intermedio, produciendo
+   *huecos*. Estos *huecos* quedan inutilizables hasta que se quiera
+   asignar un nuevo objeto de tamaño igual al *hueco* (o menor). Si esto no
+   sucede y se acumulan muchos *huecos* se dice que la memoria está
+   *fragmentada*.
 
 .. fig:: fig:gc-copy