Piszę program zawierający pokoleniowy garbage collector. Są tylko dwa pokolenia. Zastanawiam się, co się dzieje: Czy podczas wykonywania pełnej kolekcji mogę uzyskać wszystko (z punktu widzenia wydajności), najpierw zbierając młodsze przedmioty, promując tych, którzy przeżyli, do starszego pokolenia, a następnie zbierając stare pokolenie, czy też powinienem tylko zbierać śmieci w jeden zamiatać? Nie jestem pewien, w jaki sposób ludzie zwykle to robią.Czy należy najpierw pozyskać młode pokolenie w pełnym zbiorze śmieci?
Używam teraz metody dwuetapowej, ponieważ było to nieco prostsze do wdrożenia, ale być może metoda jednoetapowa byłaby bardziej wydajna?
Śmieciarz nie kopiuje, jeśli to ma znaczenie.