При каких обстоятельствах сбор мусора эффективнее ручного управления памятью? (Здесь руководство может означать использование malloc и бесплатно, как в C, или чистые методы RAII и интеллектуального указателя, популяризированные С++)
Мне нравится, как сборка мусора может устранить некоторую случайную сложность при написании программного обеспечения, но я был еще более доволен тем, как RAII и интеллектуальные указатели могут устранить эту сложность, а также работать с ресурсами, отличными от памяти, будучи детерминированными и обеспечивая гарантии производительности и будучи более эффективными в целом. Поэтому я подумал, что могу смело игнорировать сбор мусора. Тем не менее, я заметил, что люди говорят, что сбор мусора быстрее, чем жесткое управление ресурсами, используемое на С++, например, когда доступно много дополнительной памяти.
Итак, когда именно сбор мусора превосходит ручное управление памятью? Мне нравятся RAII и интеллектуальные указатели, но с удовольствием принимаю сборку мусора в качестве другого инструмента, если это быстрее.