Управление памятью в C, быстрая аллокация и создание своего GC.

Рейтинг: 0Ответов: 2Опубликовано: 25.03.2011

Я много раз встречал утверждение, что стандартный malloc работает медленно, и что не годится для постоянного использования.

Сейчас пытаюсь написать небольшой скриптовый язык на Си, где будет автоматическое управление памятью (GC).

Как пишутся GC? Какую литературу посоветуете?

Ещё интересно, как организовать быструю работу с памятью.

Ответы

▲ 3Принят

Начните с общих сведений. Прочтите об устройстве GC в больших виртуальных машинах, таких как Java и .NET, где GC реализованы весьма хорошо и даже можно выбирать раные реализации.

Вот, для начала можно прочесть на русском Garbage Collection наглядно

Вот на RSDN про GC в .NET.

Для начала этих сведений будет достаточно, чтобы начать.

Да, и последнее: malloc работает быстро. Если он не работает быстро, то это значит, что вы делаете что-то не то или не так.

▲ 1

Серия статей на русском по сборке мусора в Java от IBM:

И еще по ссылкам в конце статей много интересного.

PS Сам по себе С malloc работает быстро: это основной функционал языка, он отточен до предела. Возможно, он работает медленнее, чем что-то, но тогда нужно уточнять, с чем идет сравнение.