JS Сборка мусора - PullRequest
       1

JS Сборка мусора

1 голос
/ 25 апреля 2011

Что запускает сборщик мусора JavaScript?Очевидно, что это зависит от двигателей JS, но пытается получить грубое представление.Только ли доступная память ниже определенного порога?

Спасибо.

Ответы [ 3 ]

2 голосов
/ 25 апреля 2011

меняется. Chrome (V8) просто основан на таймере и мониторе активности (он пытается не работать, когда двигатель занят).

2 голосов
/ 25 апреля 2011

Это действительно меняется очень широко. SpiderMonkey, например, будет собирать GC на основе различных эвристик о том, сколько памяти было выделено, но встраивание в браузер также запускает GC в различных ситуациях, например, после обработки достаточного количества событий DOM, после того, как скрипт выполняется достаточно долго, некоторые вещи могут делать с закрытыми или загруженными вкладками / окнами и т. д., и т. д. И эвристика сильно изменилась между различными версиями Firefox и снова изменится.

И это только для одного браузера.

0 голосов
/ 25 апреля 2011

Это варьируется в зависимости от браузера, и, насколько я знаю, вы абсолютно не можете его контролировать.

Аналогично, вы не контролируете, когда DOM рендерится, что действительно раздражает, если вы хотите показатьполоса загрузки: D

Почему вы хотите это знать?

...