У меня есть несколько больших (~ 100 Мб) файлов, которые я регулярно обрабатываю. Хотя я пытаюсь удалить ненужные структуры данных во время обработки, потребление памяти слишком велико. Мне было интересно, есть ли способ эффективно манипулировать большими данными, например:
def read(self, filename):
fc = read_100_mb_file(filename)
self.process(fc)
def process(self, content):
# do some processing of file content
Есть ли дублирование структур данных? Разве не лучше использовать память для использования атрибута класса, такого как self.fc?
Когда я должен использовать сбор мусора? Я знаю о модуле gc, но могу ли я его вызвать после я del fc
например?
Обновление
постскриптум 100 Мб не проблема сама по себе. но конвертирование с плавающей точкой, дальнейшая обработка значительно увеличивает как рабочий набор, так и виртуальный размер (я нахожусь в Windows).