Le manuel du ramasse-miettes
(gchandbook.org)- Ouvrage technique présentant de façon structurée les principes de la gestion automatique de la mémoire, avec une explication complète des algorithmes de ramasse-miettes dans les environnements matériels et logiciels modernes
- Deuxième édition publiée après celles de 1996 et 2012, intégrant les résultats de 60 ans de recherche et de développement
- Inclut les techniques modernes de collecteurs haute performance comme la collecte parallèle, incrémentale, concurrente et temps réel, avec des algorithmes présentés concrètement au moyen de pseudocode et de schémas
- Ajoute de nouveaux chapitres sur la persistance (persistence) et la collecte sensible à l’énergie, avec un lien vers une base de données de plus de 3 400 articles scientifiques connexes
- Alors que la plupart des langages de programmation modernes adoptent le ramasse-miettes, c’est une référence essentielle pour aider les développeurs à choisir et configurer correctement un collecteur
Aperçu de la deuxième édition
- Suite de Garbage Collection (1996) et de The Garbage Collection Handbook (2012), reflétant l’état de l’art actuel dans le domaine de la gestion automatique de la mémoire
- Tient compte du fait que les progrès technologiques ont rendu la gestion de la mémoire plus complexe et plus importante
- Intègre dans un cadre accessible les connaissances accumulées par les chercheurs et les développeurs au cours des 60 dernières années
- Traite des nouveaux défis posés au ramasse-miettes par les évolutions du matériel et des logiciels
- Explore l’impact des changements d’environnement d’exécution des programmes sur les concepteurs et implémenteurs de collecteurs haute performance
- Couvre non seulement les algorithmes simples et traditionnels, mais aussi la collecte parallèle, incrémentale, concurrente et temps réel
- Les algorithmes et les concepts sont expliqués à l’aide de pseudocode et de schémas
Principales caractéristiques du livre
- Propose une suite complète et à jour aux éditions de 1996 et 2012
- Traite de manière exhaustive les algorithmes de collecte parallèle, concurrente et temps réel
- Explique en détail le fonctionnement des collecteurs commerciaux haute performance
- Aborde les problèmes d’interface complexes avec les systèmes d’exécution
- Comprend plus de 90 pages supplémentaires et de nouveaux chapitres sur la persistance et la collecte sensible à l’énergie
- Relié à une base de données d’environ 3 400 articles scientifiques connexes
Livre numérique et éditions traduites
- Le livre numérique est plus riche que l’édition imprimée et inclut plus de 37 000 hyperliens
- Liens vers les chapitres, sections, algorithmes, schémas, glossaire, index et articles de recherche
- En 2016, des traductions en chinois et en japonais ont été publiées, élargissant le lectorat
Ressources web
- La base de données bibliographique en ligne comprend environ 3 400 articles sur le ramasse-miettes
- Certaines entrées comportent un résumé, et la plupart fournissent une URL ou un DOI
- Elle est mise à jour en continu et peut être téléchargée aux formats BibTeX, PostScript, PDF
1 commentaires
Avis sur Hacker News
Mon anecdote préférée sur le garbage collection se trouve dans ce billet
J’aimerais que le livre indique quels GC de production les auteurs ont réellement construits. Il existe tellement de cas non intuitifs dont on peut tirer des enseignements dans le monde réel qu’un livre couvrant cela serait bien plus intéressant et utile
C’est vraiment un excellent livre. Il y a aussi eu une discussion plus ancienne : lien vers la discussion précédente
Le livre contient une courte section sur le GC temps réel, et je me demande quelle place il accorde au GC dans des environnements contraints
J’ai moi aussi depuis longtemps envie d’essayer de réaliser un jeu 3D de niveau AA avec du GC. À moins d’être sur une plateforme aux ressources extrêmement limitées, je pense que c’est tout à fait faisable
Maintenant que j’ai un peu plus de marge au travail, je me dis que je pourrais peut-être faire un prototype cet hiver et ce printemps
À l’inverse, Godot Engine n’utilise pas de GC et repose sur le comptage de références. Comme il ne prend pas en charge la détection des références circulaires, il faut organiser tous les objets en structure arborescente
Documentation associée : cas Thales, Aegis Combat System, cas de l’USS Bunker Hill
Dans la réalité, tous les GC ne se valent pas, et il n’existe pas de chose comme « insert credit to continue »
Ce livre est vraiment une référence exceptionnelle. Tout ingénieur qui utilise le GC devrait absolument le lire, et même pour ceux qui n’en ont pas besoin, la partie initiale sur les allocateurs mémoire est très instructive
J’ai ce livre moi aussi. C’est un ouvrage très bien écrit et minutieux, que je recommande vivement
J’ai autrefois suivi un cours du professeur Hosking. C’était une bonne expérience, et comme c’est lui qui a écrit ce livre, je l’ai acheté immédiatement
Ce n’est pas indispensable, mais cela m’a aidé à comprendre en profondeur les problèmes de conception du GC et l’impact des finalizers. J’ai eu une vraie révélation en lisant cette partie
J’aimerais qu’il y ait un bouton « buy now » permettant d’acheter à la fois la version imprimée et le fichier EPUB. Le site fait la promotion du livre, mais le processus d’achat est beaucoup trop compliqué