Что такое механизм GC Gambit-C? - PullRequest
4 голосов
/ 11 июня 2011

Что такое механизм GC Gambit-C?Мне интересно это для создания интерактивного приложения.Я хочу знать, может ли он избежать пакетной операции ГХ или нет.

Ответы [ 2 ]

2 голосов
/ 20 июня 2011

Согласно этим темам:

У Gambit есть традиционный GC "Остановить мир", по крайней мере доСентябрь 2008. Люди в потоке рекомендовали использовать предварительно выделенный пул объектов, чтобы избежать самой операции GC.Я не мог узнать о текущей реализации.

* Трудно согласиться с разговором.Потому что я не могу объединить объекты, не написанные мной, и, наконец, полный GC будет происходить через некоторое время из-за накопления небольших / не объединенных временных объектов.Но метод, упомянутый @Gregory, может помочь избежать этой проблемы.Тем не менее, я хотел бы, чтобы добавочный GC был добавлен в Gambit:)

1 голос
/ 14 июня 2011

Согласно http://dynamo.iro.umontreal.ca/~gambit/wiki/index.php/Debugging#Garbage_collection_threshold гамбит имеет несколько элементов управления:

Порог сбора мусора

Обратите внимание на параметры времени выполнения h (максимальный размер кучи в килобайтах) и l (livepercent).См. Справочное руководство для получения дополнительной информации.Установка livepercent в пять означает, что сборка мусора будет происходить в то время, когда для объектов, подлежащих сборке мусора, будет выделено в девятнадцать раз больше памяти, чем для объектов, которые не должны.Причина, по которой есть опция livepercent, заключается в том, чтобы дать возможность контролировать, насколько щадящий / щедрый сборщик мусора должен расходовать память по сравнению с тем, насколько тяжелым / легким он должен быть при загрузке процессора.

Вы всегда можетепринудительно собирать мусор (## gc).

Если вы форсируете сборку мусора после некоторого небольшого числа операций, или планируете его почти непрерывно, или устанавливаете livepercent равным 90, то, по-видимому, gc будет работать часто и не будет делать слишком много при каждом запуске.Это, вероятно, будет дороже в целом, но избегать чрезмерных затрат.После этого вы можете довольно легко составить бюджет на эти расходы, чтобы сделать службу быстрой, несмотря на это.

...