Цитата Сообщение от captain cobalt
Принудительное освобождение памяти - это вызов процедуры, которая наверняка выполнит как минимум одну запись в память, а потом ещё и возврат, а если вызов ещё будет маршрутизироваться через RST или подобные программные шлюзы... При изолированном рассмотрении - не эффективнее.
а если точнее, то вставит в список новый элемент. и все.
и причем тут маршрутизация при возврате из функции? вложенные вызовы в таком случае не используются. да и без рст обойтись уже решили вроде как...

Цитата Сообщение от captain cobalt
Более того, сумма накладных расходов на вызов процедуры явного освобождения может запросто стать сопоставимой со временем работы сборщика мусора.

А сборщик мусора позволяет автоматически разрешать зависимости в динамических структурах данных со сложной структурой.
а теперь давай свалим все в одну кучу чтоб посмотреть у какого метода чего больше.
без сборщика:
на N блоков памяти имеем N вызовов освобождения.
все.

со сборщиком:
на N блоков памяти имеем N вызовов освобождения, N указателей на блоки, N коррекций этих указателей, М просмотров цепочек (при периодической проверке живых блоков)

что быстрее?