LINUX.ORG.RU

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

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

Что может быть полезно, если освобождение ресурса в каком-то случае операция не быстрая.

GC – он не про произвольные ресурсы, а про память. Например в жаве, которая с GC, файлы приходится закрывать явно внутри finally{}, т.к. из-за GC он не закрывается сам при выходе из scope, а оставлять его открытым на неопределённый срок, пока GC до него доберётся и вызовет finalize() – это неряшливость.

Отсюда вывод: RAII и GC – взаимно-исключающие концепции. Обе реально удобные (сейчас мне GC на фиг не нужен, но в своё время меня пропёрло), и выбор – дело вкуса. В байтодрочерском стиле кодирования рулит RAII.

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

Что может быть полезно, если освобождение ресурса в каком-то случае операция не быстрая.

GC – он не про произвольные ресурсы, а про память. Например в жаве, которая с GC, файлы приходится закрывать явно внутри finally{}, т.к. из-за GC он не закрывается сам при выходе из scope, а оставлять его открытым на неопределённый срок, пока GC до него доберётся и вызовет finalize() – это неряшливость.

Отсюда вывод: RAII и GC – взаимно-исключающие концепции. Обе реально удобные (сейчас мне GC на фиг не нужен, но в своё время меня пропёрло), и выбор – дело вкуса. В байтодрочерском стиле кодирования рулит RAII.

Ну а для bulk destroy из памяти кучи объектов за раз – как раз и нужны кастомные аллокаторы, а именно мой любимый arena.

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

Что может быть полезно, если освобождение ресурса в каком-то случае операция не быстрая.

GC – он не про произвольные ресурсы, а про память. Например в жаве, которая с GC, файлы приходится закрывать явно внутри finally{}, т.к. из-за GC он не закрывается сам при выходе из scope, а оставлять его открытым на неопределённый срок, пока GC до него доберётся и вызовет finalize() – это неряшливость.

Отсюда вывод: RAII и GC – взаимно-исключающие концепции. Обе реально удобные (сейчас мне GC на фиг не нужен, но в своё время меня пропёрло), и выбор – дело вкуса. В байтодрочерском стиле кодирования рулит RAII.

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

Что может быть полезно, если освобождение ресурса в каком-то случае операция не быстрая.

GC – он не про произвольные ресурсы, а про память. Например в жаве, которая с GC, файлы приходится закрывать явно внутри finally{}, т.к. из-за GC он не закрывается сам при выходе из scope, а оставлять его открытым на неопределённый срок, пока GC до него доберётся и вызовет finalize() – это неряшливость.

Отсюда вывод: RAII и GC – взаимно-исключающие концепции. Обе реально удобные (сейчас мне GC на фиг не нужен, но в своё время меня пропёрло), и выбор – дело вкуса. В байтодрочерском стиле кодирования рулит RAII.

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

Что может быть полезно, если освобождение ресурса в каком-то случае операция не быстрая.

GC – он не про произвольные ресурсы, а про память. Например в жаве, которая с GC, файлы приходится закрывать явно внутри finally{}, т.к. из-за GC он не закрывается сам при выходе из scope, а оставлять его открытым на неопределённый срок, пока GC до него доберётся и вызовет finalize() – это неряшливость.

Отсюда вывод: RAII и GC – взаимно-исключающие концепции. Обе реально удобные, и выбор – дело вкуса. В байтодрочерском стиле кодирования рулит RAII.