Я думаю, что я что-то здесь неправильно понял ... Но здесь идет.
Я использую метод psd в matplotlib внутри цикла, я не заставляю его строить графики, я просто хочу получить числовой результат, поэтому:
import pylab as pyl
...
psdResults = pyl.psd(inputData, NFFT=512, Fs=sampleRate, window=blackman)
Но это происходит зацикливание 36 раз каждый раз, когда я запускаю функцию, в которой оно находится.
Я получаю медленную утечку памяти, когда я запускаю свою программу с течением времени, поэтому использовал 'heapy' для мониторинга этого, и каждый раз, когда я запускаю функцию, она добавляет 36 к этим 3 кучам:
dict matplotlib.line.Line26
dict matplotlib.transforms.CompositeAffine2D
dict matplotlib.path.Path
Я могу только заключить, что каждый раз, когда я использую метод psd, он просто добавляет его в какой-то словарь, тогда как я хочу эффективно стереть память - т.е. сбрасывать pylab в каждом цикле, чтобы он ничего не сохранял.
Возможно, я неправильно истолковываю heapy, но кажется довольно ясным, что pylab просто увеличивает каждый цикл, хотя я только хочу использовать его метод psd, я не хочу, чтобы он сохранял результаты где-либо сам!
Приветствия