Фрагментация памяти Flash/ActionScript

В дополнение к меткам и меткам сборщики мусора для.Net и Java также выполняют фазу сжатия, чтобы сократить фрагментацию памяти. Я не могу найти какую-либо документацию по фазе уплотнения / дефрагментации для сборщика мусора в Flash 9 - у Flash нет фазы уплотнения?

2 ответа

Виртуальная машина для AS3, которую Adobe использует во Flash, имеет открытый исходный код.

http://www.mozilla.org/projects/tamarin/

Менеджер памяти для виртуальной машины, называемый MMgc, включен в этот исходный код.

MMgc обеспечивает неподвижный коллектор; После выделения объекты не перемещаются коллектором. Это подразумевает отсутствие фазы уплотнения.

Дополнительная документация по MMgc доступна здесь:

https://developer.mozilla.org/en/mmgc

Некоторые из последних работ документированы в каталоге документации исходного репозитория:

http://hg.mozilla.org/tamarin-redux/file/tip/doc/mmgc

Что ж, я достаточно глубоко разбирался в вопросах управления памятью и говорил об этом с инженерами Adobe, и я никогда не слышал никаких упоминаний о фазе дефрагментации. С другой стороны, кажется маловероятным, чтобы они это исключили, и я, конечно, видел, как мое общее использование памяти сократилось после GC, как вы и ожидали, если бы была фаза дефрагментации. В общем, я бы сказал, что, вероятно, такая фаза есть.

Но я чувствую себя довольно уверенно в том, что я не думаю, что в любом случае есть официальные публичные документы. Во всяком случае, я никогда не видел ни одного. Если кто-то знает иначе, я с радостью откажусь, но на тот случай, если вы не получите других ответов.

Другие вопросы по тегам