Есть ли способ явно отключить выполнение GC (по крайней мере, наиболее трудоемких, например, прерываний GC в старом пространстве) в течение указанного периода времени, при выполнении некоторого кода, чувствительного к задержки? Что-то вроде этого:Отключить сборку мусора node.js на некоторое время
disableGc();
runCodeWithoutDelays();
enableGc();
Возможно, с использованием некоторых параметров узла или собственных модулей? Или я могу написать свой собственный модуль, есть ли API для V8?
Хммм, будет [это] (https://github.com/bnoordhuis/node-idle-gc) работать на вас? – thefourtheye
Не совсем. Это вызовет неинкрементные основные прогоны GC (mark-sweep-compact), которые довольно тяжелы и вводят длительные задержки по сравнению с быстрыми инкрементальными прогонами. Вместо того, чтобы запускать GC самостоятельно, я хотел бы заблокировать GC в течение некоторого времени и снова отпустить его для нормальной работы. – artch
Я бы порекомендовал поднимать этот вопрос как ошибку в списке рассылки Node.js repo и v8. – thefourtheye