croot / nekopaw

Automatically exported from code.google.com/p/nekopaw
1 stars 0 forks source link

Оптимизация работы с памятью #163

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Сейчас все данные компонентов граббера 
дублируют данные, отображаемые в таблице. 
Если добиться виртуализации этих данных 
(т.е. выводить только по необходимости 
напрямую из данных компонентов), то можно 
сэкономить 1/3 используемой памяти. На 
примере: при 50к результатов использование 
памяти в "обычном" режиме ~300МБ, при 
отключении заполнения таблицы 
использование памяти падает до 200МБ.

Это будет 2й шаг в сторону оптимизации 
использования памяти.

Затем надо будет придумать режимы 
"проходной скачки", чтобы пикчи качались на 
лету, а запоминалось только то, что 
необходимо для поиска дублей, хранение 
массивов на винте и иже...

Первым шагом был устранение всех утечек 
при освобождении памяти :)

Original issue reported on code.google.com by catgirlfighter on 17 Oct 2013 at 11:21

GoogleCodeExporter commented 9 years ago
Можно переделать текущие накопительные 
индексированные таблицы в "физические", 
харанящиеся на винте. Удалять данные из них 
нельзя, ака в процессе работы они всегда 
будут становиться только больше, но зато 
они не будут забивать память. Разве что 
надо будет сделать соответсвующую таблицу 
индексов, что определенно легче по памяти 
(сколько там, 4 байта на каждую запись чтобы 
обеспечить 4ккк записей?). Алсо это немного 
снизит скорость работы. Можно реализовать 
одновременное чтение из файла, но запись 
все равно будет последовательной, да и 
чтение "в определенной мере", ибо SSD-шники 
еще не у всех.

Original comment by catgirlfighter on 21 Oct 2013 at 2:33

GoogleCodeExporter commented 9 years ago
От "файловой памяти" отказался. Списки 
будут обычными.
"Проходная скачака" добавлена будет (nobrainer 
mode, скачал и забыл).

Original comment by catgirlfighter on 14 Aug 2014 at 4:06

GoogleCodeExporter commented 9 years ago
Данные из хранилища не дублируются в 
таблице, затраты памяти на 
отображение/группировки и т.д. минимальные.

Original comment by catgirlfighter on 14 Aug 2014 at 4:07

GoogleCodeExporter commented 9 years ago

Original comment by catgirlfighter on 29 Sep 2014 at 8:39