В 2-х словах - GC в Parrot'е ужасен. Нет, даже не так. ЧУДОВИЩЕН. Никто не хочет помочь с написанием нормального Generational GC with bells and whistles
( Read more... )
Сейчас там самый тупой Stop the World mark and sweep. Для начала хочется Compacting Generational GC хотя бы на 3 поколения. Incremental и Parallel могут подождать чуток.
incremental -- довольно большая фича, лучше думать сразу. можно сделать популярный вариант -- 3 поколения, 0 и 1 copying non-incremental, а старое incremental mark-and-sweep (можно периодически compact-ить). а что у вас там с многопоточностью? и можно ли сделать замену vtable для read-barrier? (как в http://research.microsoft.com/en-us/um/people/simonpj/papers/non-stop/index.htm)
Ну в общем согласен. У whiteknight'а даже были какие-то идеи и прототипы под это дело. Типа incremental 3-colour mark. Я просто пытаюсь получить хоть какой-то релультат в ближайшие 3 месяца до выхода Rakudo *.
многопоточность
С ней всё плохо... Реально плохо.
замена VTable
Эээ... А read-barrier'ы не медленно ли? Типа mprotect на страницы в n+1-ом поколении, при срабатывании помечать страницу как грязную и делать по ней mark.
Comments 40
насколько много свистелок надо? параллельность надо? или incremental major collection? или еще чего?
Reply
Reply
можно сделать популярный вариант -- 3 поколения, 0 и 1 copying non-incremental, а старое incremental mark-and-sweep (можно периодически compact-ить).
а что у вас там с многопоточностью?
и можно ли сделать замену vtable для read-barrier? (как в http://research.microsoft.com/en-us/um/people/simonpj/papers/non-stop/index.htm)
Reply
Ну в общем согласен. У whiteknight'а даже были какие-то идеи и прототипы под это дело. Типа incremental 3-colour mark. Я просто пытаюсь получить хоть какой-то релультат в ближайшие 3 месяца до выхода Rakudo *.
многопоточность
С ней всё плохо... Реально плохо.
замена VTable
Эээ... А read-barrier'ы не медленно ли? Типа mprotect на страницы в n+1-ом поколении, при срабатывании помечать страницу как грязную и делать по ней mark.
Reply
Reply
Там есть ссылка на Uniprocessor GC Technics.
Reply
Пока же пугает слово uniprocessor
Reply
Reply
Leave a comment