En OCaml par exemple tu as un GC générationnel, avec un tas mineur (petit et rapide à collecter, pas de problème de pause) et un tas majeur pour les vieux objets, plus gros, et collecté incrémentalement. Il n'y a une pause (tas majeur complet et compaction) que dans les situations critiques où il n'y plus assez de mémoire pour continuer à allouer. Le critère de "trop de mémoire" (ou trop de fragmentation) est configurable, tu peux dire "je veux une pause quand j'arrive aux 3/4 de ma mémoire occupée".
C'est le cas en java aussi en passant (i.e. une grande partie des programmes côté serveur en profite aujourd'hui déjà).
[^] # Re: pour moi
Posté par _ . En réponse au journal Votre langage idéal ?. Évalué à 1.
C'est le cas en java aussi en passant (i.e. une grande partie des programmes côté serveur en profite aujourd'hui déjà).