Heuristiques de dimensionnement du tas du GC Guile : Une histoire de blocage

2025-05-26

Le projet Guile intègre un garbage collector à balayage conservateur basé sur Nofl. Utilisant actuellement une politique de tas extensible, la taille du tas est ajustée par un multiplicateur pour tenir compte de la fragmentation. Cependant, une fragmentation importante peut entraîner des échecs d’allocation et des blocages, même lorsque le tas est deux fois plus grand que la taille prévue. L’article explore des solutions : augmenter le multiplicateur, modifier l’organisation du tas et réserver des blocs vides pour le collecteur Nofl. L’objectif est une gestion efficace de la fragmentation et la prévention des blocages.

Lire plus

Construire un ramasse-miettes à partir de zéro : un voyage de 20 ans

2025-05-12

Un programmeur ayant 20 ans d'expérience, après avoir étudié l'algorithme de ramassage-miettes Immix, a décidé d'implémenter un nouveau ramasse-miettes pour Guile Scheme. Son objectif initial était de créer une interface de gestion de la mémoire générique, mais il a fini par développer un nouveau ramasse-miettes appelé Nofl, qui utilise une table auxiliaire d'un ramasse-miettes mark-sweep pour l'allocation de pointeur bump. L'auteur partage également son expérience de soumission de ses recherches à une conférence académique et ses réflexions sur la recherche académique et l'industrie.

Lire plus
Développement Ramasse-miettes

Les Performances Déconcertantes du Ramassage des Ordres Générationnel

2025-02-09

L'auteur a mené des expériences pour vérifier les avantages en termes de performances du ramassage des ordures générationnel. Étonnamment, les résultats ont montré que le ramassage des ordures générationnel prenait plus de temps que le ramassage des ordures sur l'ensemble du tas dans divers benchmarks. L'article explore plusieurs causes possibles, notamment la surcharge de la barrière d'écriture, le choix de la taille de la pouponnière, la représentativité du benchmark et la fréquence de collecte. L'auteur conclut que des recherches supplémentaires sont nécessaires pour déterminer la cause racine.

Lire plus