Я в этом не разбираюсь, но возник такой вопрос. Считается, что в языках с GC нет ручного управления, а, например в сишке есть.
Меня заинтересовал вот какой вопрос. Допустим, мы пишем команду «освободить память такую-то». Интересно, что реально тут происходит в этот момент? Исполнение останавливается до тех пор, пока память не будет освобождена, а затем возобновляется? В таком случае, у нас разница между языком с GC и без него только в том, что нет накладных расходов на сам GC, на алгоритмы подсчета ссылок и/или обход дерева. Непосредственно на расход памяти это не влияет, практически, так получается?
И, кстати, что представляет из себя процесс освобождения памяти, на более низком уровне?
ЗЫ пришлось поставить тег c++, поскольку тегов связанных с «просто си» не нашел вообще. Подскажите что поставить по си.