LINUX.ORG.RU

История изменений

Исправление dimgel, (текущая версия) :

Depends. Примеры вариантов (не утверждаю, что исчерпывающие):

  1. Деструкторы объектов тяжёлые (закрывают внешние ресурсы) – тогда высвобождение памяти на их фоне будет несущественным.

  2. Деструкторы вырожденные – можно заюзать мой любимый аллокатор «arena», который аллоцирует все объекты в одном большом блоке памяти, а в конце высвобождает всю память одним вызовом, не вызывая деструкторы вообще.

  3. PHP style: на кой чёрт заморачиваться с закрытием ресурсов и высвобождением памяти, если после завершения скрипта программы система сама всё приберёт.

  4. RAII вообще помещает всё что может на стек, и стоимость освобождения памяти строго равна нулю.

Исправление dimgel, :

Depends. Примеры вариантов (не утверждаю, что исчерпывающие):

  1. Деструкторы объектов тяжёлые (закрывают внешние ресурсы) – тогда высвобождение памяти на их фоне будет несущественным.

  2. Деструкторы вырожденные – можно заюзать мой любимый аллокатор «arena», который аллоцирует все объекты в одном большом блоке памяти, а в конце высвобождает всю память одним вызовом, не вызывая деструкторы вообще.

  3. Как частный случай предыдущего – PHP style: на кой чёрт заморачиваться с закрытием ресурсов и высвобождением памяти, если после завершения скрипта система сама всё приберёт.

  4. RAII вообще помещает всё что может на стек, и стоимость освобождения памяти строго равна нулю.

Исходная версия dimgel, :

Depends. Примеры вариантов (не утверждаю, что исчерпывающие):

  1. Деструкторы объектов тяжёлые (закрывают внешние ресурсы) – тогда высвобождение памяти на их фоне будет несущественным.

  2. Деструкторы вырожденные – можно заюзать мой любимый аллокатор «arena», который аллоцирует все объекты в одном большом блоке памяти, а в конце высвобождает всю память одним вызовом, не вызывая деструкторы вообще.

  3. RAII вообще помещает всё что может на стек, и стоимость освобождения памяти строго равна нулю.