2 puntos por GN⁺ 2025-12-24 | 1 comentarios | Compartir por WhatsApp
  • Un libro técnico que aborda de forma sistemática los principios de la gestión automática de memoria y explica de manera integral los algoritmos de recolección de basura en entornos modernos de hardware y software
  • Segunda edición, publicada después de las de 1996 y 2012, que integra los resultados de investigación y desarrollo acumulados durante los últimos 60 años
  • Incluye técnicas modernas de recolectores de alto rendimiento como recolección paralela, incremental, concurrente y en tiempo real, y presenta los algoritmos de forma concreta con pseudocódigo e ilustraciones
  • Añade nuevos capítulos sobre persistencia (persistence) y recolección con conciencia energética, y se vincula con una base de datos de más de 3,400 artículos académicos relacionados
  • En un contexto donde la mayoría de los lenguajes de programación modernos adoptan recolección de basura, es una referencia esencial para que los desarrolladores comprendan la selección y configuración adecuadas del recolector

Resumen de la segunda edición

  • Continuación de Garbage Collection (1996) y The Garbage Collection Handbook (2012), que refleja el estado más reciente del campo de la gestión automática de memoria
    • Refleja cómo los avances tecnológicos han hecho que la gestión de memoria sea más compleja e importante
    • Integra en un marco accesible el conocimiento acumulado por investigadores y desarrolladores durante los últimos 60 años
  • Aborda los nuevos retos que los avances de hardware y software plantean para la recolección de basura
    • Explora cómo los cambios en el entorno de ejecución de los programas afectan a los diseñadores e implementadores de recolectores de alto rendimiento
    • Incluye no solo algoritmos simples y tradicionales, sino también recolección paralela, incremental, concurrente y en tiempo real
    • Los algoritmos y conceptos se explican con pseudocódigo e ilustraciones

Características principales del libro

  • Ofrece una continuación completa y actualizada de las ediciones de 1996 y 2012
  • Trata de forma integral los algoritmos de recolección paralela, concurrente y en tiempo real
  • Explica en detalle el funcionamiento de recolectores comerciales de alto rendimiento
  • Aborda los complejos problemas de interfaz con los sistemas de ejecución
  • Añade más de 90 páginas e incluye nuevos capítulos sobre persistencia y recolección con conciencia energética
  • Se vincula con una base de datos de aproximadamente 3,400 artículos académicos relacionados

Libro electrónico y ediciones traducidas

  • El libro electrónico es una versión ampliada frente a la edición impresa e incluye más de 37,000 hipervínculos
    • Enlaces a capítulos, secciones, algoritmos, ilustraciones, glosario, índice y artículos de investigación
  • En 2016 se publicaron ediciones traducidas al chino y al japonés, ampliando su base de lectores

Recursos web

  • La base de datos bibliográfica en línea incluye alrededor de 3,400 artículos sobre recolección de basura
    • Algunas entradas incluyen resumen, y la mayoría ofrece URL o DOI
    • Se actualiza continuamente y puede descargarse en formatos BibTeX, PostScript y PDF

1 comentarios

 
GN⁺ 2025-12-24
Comentarios en Hacker News
  • Mi anécdota favorita relacionada con garbage collection está en este artículo

    • He oído que en otros lugares usan un enfoque parecido. Por ejemplo, en el Standard Missile no recirculan el fluido hidráulico, sino que simplemente lo expulsan durante el vuelo; es una solución de ingeniería realmente elegante
    • Supongo que eso podría llamarse una especie de asignador de memoria basado en regiones. La única diferencia es que solo existe una región
    • Este tipo de enfoque es bastante estándar. El punto clave no es un GC nulo, sino demostrar mediante análisis estático los requerimientos exactos de memoria
    • Esta historia es una buena lección que suelo contarles a mis colegas. Muestra que uno quiere hacer software perfecto, pero que en los requisitos reales del negocio no siempre hace falta llegar a eso
    • A esto sí que me dan ganas de llamarlo la verdadera tecnología definitiva de garbage collection
  • Ojalá el libro dijera qué tipo de GC de producción han construido realmente los autores. Hay muchos casos contraintuitivos de los que se puede aprender en el mundo real, así que un libro con ese tipo de contenido sería mucho más interesante y útil

  • Es un libro realmente bueno. También hubo una discusión anterior: enlace a la discusión previa

  • Vi que el libro tiene una sección corta sobre GC en tiempo real, y me da curiosidad cuánto peso le dan al GC en entornos restringidos
    Desde hace tiempo también he tenido la tentación de intentar implementar con GC un juego 3D AA. Si no es una plataforma con recursos extremadamente limitados, creo que es totalmente posible
    Ahora que tengo un poco más de tiempo libre en el trabajo, quizá intente hacer un prototipo este invierno y primavera

    • Hoy en día la mayoría de los motores de juegos AA ya usan GC. Unreal y Unity son los ejemplos típicos. Internamente también manejan memoria de forma manual, pero las API expuestas están diseñadas pensando en GC
      En cambio, Godot Engine no usa GC, sino conteo de referencias. Como no admite detección de referencias circulares, todos los objetos tienen que organizarse en forma de árbol
    • Los sistemas de puntería de armas de los buques de guerra de la Armada de EE. UU. y los sistemas franceses de rastreo de misiles también están implementados con GC en tiempo real de Java.
      Material relacionado: caso de Thales, Aegis Combat System, caso del USS Bunker Hill
      En la práctica, no todos los GC son iguales, y no existe eso de “insert credit to continue”
    • Minecraft también es un juego indie que usa GC, y aun así es el juego más vendido de la historia
    • Unreal Engine tiene un GC para su grafo interno de objetos, así que ya hay muchos juegos que aprovechan GC
    • Unreal usa GC incremental
  • Este libro es una referencia extraordinaria. Cualquier ingeniero que use GC debería leerlo, e incluso para quienes no lo necesiten, la parte inicial sobre asignadores de memoria es muy provechosa

  • Yo también tengo este libro. Está muy bien escrito y es muy minucioso, así que lo recomiendo mucho

  • Hace tiempo tomé una clase con el profesor Hosking. Fue una experiencia decente, y como el libro era suyo, lo compré de inmediato
    No es indispensable, pero me ayudó a entender a fondo los problemas de diseño del GC y el impacto de los finalizadores. Al leer esa parte tuve varias revelaciones importantes

  • Ojalá hubiera un botón de “buy now” para comprar juntos la versión impresa y el archivo EPUB. El sitio promociona el libro, pero el proceso de compra es demasiado complicado