Память

jus

Юрий
Уважаемые разработчики, можете подробнее разъяснить, почему процесс AdBlock.Agent.exe занимает довольно много памяти? 40 Мб во время запуска и выше, по мере работы :confused:
Для моего, непрофессионального, взгляда, это очень интересно, особенно когда инетом вообще непользуешься, а ресурсы расходуются :)
 

avatar

Administrator
Staff member
Administrator
Уважаемые разработчики, можете подробнее разъяснить, почему процесс AdBlock.Agent.exe занимает довольно много памяти? 40 Мб во время запуска и выше, по мере работы :confused:
Для моего, непрофессионального, взгляда, это очень интересно, особенно когда инетом вообще непользуешься, а ресурсы расходуются :)
Ну вообщем, рассказываю все с точки зрения разработчика.

Во-первых немного лирики. Я так думаю, что диспетчер задач нужно вообще с корнем вырвать из Windows:). Вот хорошая статья в тему http://habrahabr.ru/blogs/Old_New_Thing/109603/

Во-вторых, об используемой памяти. У нас, на самом деле, были в свое время страшные споры, ужимать ли память или нет. Занимает она сейчас столько из-за фильтров. В списке правил сейчас порядка 12 тысяч. Но они в памяти живут не просто в виде списка строчек. По ним строятся специальные индексы, которые ускоряют поиск нужного правила в разы.
Если индексы убрать, потребление памяти уменьшится раза в два, но и скорость фильтрации ощутимо уменьшится. В итоге из двух зол выбрали меньшее - пожертвовали памятью ради скорости.
 

jus

Юрий
Я так понимаю, фильтры работают, когда работает программа, тоесть всегда, без прерывно. Можно ли сделать чтоб они отключались, переводилась программа в тихий режим, когда не пользуешься браузером?
То есть сделать программу еще умнее :) Вот работает она спокойно, не кому не мешает, память особо не занимает...тут пользователь открывает браузер, ага, значит необходимо включать фильтры, будем лазить по сайтам. Полазили, браузер закрыли, программа отключает фильтры...переходит в режим ожидания.
Может это и глупо выглядит, но зато рациональное использование ресурсов компа (пускай хоть эти фильтры и 100 Мб зажрут, как вон браузер, но зато с умом, когда действительно это необходимо) :)
 

avatar

Administrator
Staff member
Administrator
Я так понимаю, фильтры работают, когда работает программа, тоесть всегда, без прерывно. Можно ли сделать чтоб они отключались, переводилась программа в тихий режим, когда не пользуешься браузером?
То есть сделать программу еще умнее :) Вот работает она спокойно, не кому не мешает, память особо не занимает...тут пользователь открывает браузер, ага, значит необходимо включать фильтры, будем лазить по сайтам. Полазили, браузер закрыли, программа отключает фильтры...переходит в режим ожидания.
Может это и глупо выглядит, но зато рациональное использование ресурсов компа (пускай хоть эти фильтры и 100 Мб зажрут, как вон браузер, но зато с умом, когда действительно это необходимо) :)
Тогда каждый первый запрос после выгрузки будет тормозить. На мой взгляд это не очень приятно.

А что, памяти совсем не хватает?
 

vvgNovanet

Moderator
Moderator
В данном случае разумно её просто выключить, а когда нужно включить.
хотя это не рационально.
 

jus

Юрий
Тогда каждый первый запрос после выгрузки будет тормозить. На мой взгляд это не очень приятно.
Все возможно, торможения, подвисания, ухудшат работу программы, да и медлительнее наверно станет..вы правы!:)

А что, памяти совсем не хватает?
Лично у меня ее хватает :) Просто интересно было узнать, вроди в инете не сижу, программа можно сказать не работает, а за чем то ресурсы ест :) Это любопытный факт, а как оказалось, все дело в фильтрах, спасибо за разъяснение! :)
 

vvgNovanet

Moderator
Moderator
При выключении защиты можно выгружать процесс
при включении можно снова запускать.
на данный момент процесс при выключении защиты продолжает работать
 
Last edited by a moderator:

jus

Юрий
В данном случае разумно её просто выключить, а когда нужно включить.
хотя это не рационально.
как для меня, это даже очень не рационально...посещения по инету у меня довольно часты, замучаешься включать и выключать :) да и включаеться она не моментально :rolleyes:
 

avatar

Administrator
Staff member
Administrator
При выключении защиты можно выгружать процесс
при включении можно снова запускать.
на данный момент процесс при выключении защиты продолжает работать
Если выгрузить процесс - то включать защиту будет негде:).
При выключении защиты можно выгрузить фильтры, это да. Правда тогда включаться/выключаться будет по несколько секунд.
 

vvgNovanet

Moderator
Moderator
Не так выразился.
А по времени это сколько будет?
Если 1-2 сек то это думаю нормально . Хотя кому как. И у кого какой комп.(по производительности)
 

avatar

Administrator
Staff member
Administrator
Не так выразился.
А по времени это сколько будет?
Если 1-2 сек то это думаю нормально . Хотя кому как. И у кого какой комп.(по производительности)
Я вот сейчас поразмыслил и кое-что вспомнил, а попробуйте выключить защиту и подождать минут 5. Если я ничего не путаю, сейчас фильтры выгружаются. Посмотрите, сильно ли упадет память.

--
Сейчас у себя проверил. Падает до 28Мб. Ниже уже не упадет к сожалению.
 
Last edited by a moderator:

vvgNovanet

Moderator
Moderator
Можно действительно сделать выгрузку фильтров по времени.
Не пользуешся инетом к примеру минут 5 защита выключается фильтра выгружаються
полез включилась,загрузилась.

было 46 сейчас 43 включил прыкнуло до 67 сейчас 42

меньше 40 не опускалось
 
Last edited by a moderator:

avatar

Administrator
Staff member
Administrator
Можно действительно сделать выгрузку фильтров по времени.
Не пользуешся инетом к примеру минут 5 защита выключается фильтра выгружаються
полез включилась,загрузилась.
Говорили выше об этом. Тогда будет тормозить первый запрос.
 

Fantom

Beta Tester
Я вот сейчас поразмыслил и кое-что вспомнил, а попробуйте выключить защиту и подождать минут 5. Если я ничего не путаю, сейчас фильтры выгружаются. Посмотрите, сильно ли упадет память.

--
Сейчас у себя проверил. Падает до 28Мб. Ниже уже не упадет к сожалению.
У меня реально падает.

 

vvgNovanet

Moderator
Moderator
Может дело в операционках или в их настройке.
ждал 10 минут результатов - 0
 
Last edited by a moderator:

avatar

Administrator
Staff member
Administrator
У меня реально падает.
Странно как. Видимо когда окошко свернуто - со временем оно выгружается из памяти. Правда у меня такое поведение не повторяется почему-то.

А какая у вас версия .NET и системы?
 

jus

Юрий
Вообщем как и у vvgNovanet резульатата 0. С 59 Мб через 1 мин, после выключения защиты, упала память до 55..включил защиту - скакнуло до 71 Мб
 

jus

Юрий
Странно как. Видимо когда окошко свернуто - со временем оно выгружается из памяти. Правда у меня такое поведение не повторяется почему-то.
Выключал защиту при свернутом окне, толку 0 :)
 

avatar

Administrator
Staff member
Administrator
Вообщем как и у vvgNovanet резульатата 0. С 59 Мб через 1 мин, после выключения защиты, упала память до 55..включил защиту - скакнуло до 71 Мб
В следующем релизе сделаю так, чтобы память освобождалась сразу после выключения защиты - сейчас нужно ждать несколько минут.

А вот насчет поведения как у Fantom - для меня пока загадка как это происходит:).
 
Top