Pull to refresh
101
0
Олег @Olegas

Fullstack-разработчик

Send message
Нет, с ней все понятно.
Судя по всему корень зла — повторно создающееся замыкание с видимостью XHR.
В общем суяд по всему оба варианта текут ГОРАЗДО меньше чем исходный (оба, тот который выше и jQuery.get). Но все-же со временем размер процесса немного пухнет.

Процесс «без jQuery» за первые 40 минут распух с 11 до 21Мб но за следующие 1 час 20 минут не увеличился. Процесс «c jQuery» аналогично — с 8 до 10 и держится.
пруф чего?
Вы имеете основания полагать, что в этом коде:

setInterval(function(){

}, 10);

анонимная функция будет создаваться каждый раз новая?
А в чем отличие от ранее предложенного выноса колбэка из замывания?
И так делаю, правда смотрю по about:memory
Это я понимаю. Я к тому, что функция, выполняемая с интервалом — он одна, как фабрика у вас.
Не, не создал. Она уже была. Внутренняя анонимная функция видела XHR уже в момент рождения (хоть и не использовала его явно). И каждая новая видела свой XHR.
Обнуляя я порушил ссылку, но в области видимости функции остался XHR.
Простите, сам невнимательно прочитал, незаметил xhr = null.
Запустил пробовать. Рядом запустил аналог с простым jQ.get
var cb = function(d){ var a = 2 + 3; };
setInterval(function(){
	$.get('f.txt', cb);
}, 500);
А посмотреть в тест топика пробовали?
Тоесть мы минимизируем то, что попало в замыкание к колбэку и попутно вывели инстанс XHR из его области видимости?
Не все задачи, которые имеются, можно так решить. Как обойти я примерно представляю, мне хочется понять что я не понимаю в работе GC и работе именно вышеуказанного куска.
При каждом срабатывании интервала будет вызвана одна и та же функция, она не пересоздается заново.
При каждом срабатывании интервала будет вызвана одна и та же функция, она не пересоздается заново.
10 минут, 4084Kb -> 10900Kb
Запустил тест. А разве при каждом запуске старый инстанс XHR не перетрется новым? И таким образом на него потеряется ссылка?
На него нет ссылок. Он должен быть вычищен гарбаж-коллектором. Или я не прав в этом?

Information

Rating
Does not participate
Location
Россия
Works in
Date of birth
Registered
Activity