Это не годится для динамических связных структур данных.Сообщение от elf/2
Вот, кстати, ещё один аргумент за сборщик мусора - что лучше: в каждой программе иметь (рекурсивные) процедуры для уничтожения связных структур данных, или иметь один сборщик мусора?
Ещё раз: мусор, образовавшийся в одном блоке, не сможет быть утилизирован в пользу другого блока.Сообщение от Vitamin
Ничего не боюсь!Сообщение от Vitamin
Одна куча на всю систему.
Со сборщиком мусора.
Кому не надо, не использует его.
На какую тему?Сообщение от Vitamin
Сборщик мусора встаёт поперёк дороги каким-то приёмам оптимизации?
Можно спроектировать такой интерфейс распределителя памяти, при котором он одновременно записывает адрес в память и загружает в HL. Тогда этот клочок кода превратится вСообщение от Vitamin
LD HL,block1
CALL allocate
LD DE,dest
LD BC,len
LDIR
Весьма симпатично.
Возможны также реализации, при которых просматриваться будут указатели только на живые блоки.Сообщение от Vitamin
Существуют также ситуации, при которых со сборщиком мусора будет быстрей. Например, если памяти хватило на всё, то можно не тратить время на освобождение. Образуется мусор, который "на досуге" уберём.






Ответить с цитированием