[SciPy-user] Memory Leak in Scipy.Signal.lfilter?
Richard Lyon
rchrdlyon1 at gmail.com
Thu Apr 2 04:02:04 EDT 2009
Hi,
Problem:
=======
Been successfully using scipy to simulate a signal decoding algorithm.
Recently upgraded from release 0.6.0 to release 0.7.0 and discovered the
simulation leaks memory, which brings the computer to a grinding halt
after a few minutes.
Details:
=======
Microsoft Vista
Python 2.5.2
Numpy 1.2.1
Scipy 0.7.0
The following code leaks memory:
---------------------------------------------------------
# Check if scipy.signal.lfilter causes memory leak
import numpy
from scipy.signal import lfilter
def main():
# low pass filter coefficients (maybe this should be an array)
hlp = [-2.145760E-003, -4.058501E-003, -4.629715E-003,
-1.294677E-003, 6.771358E-003, 1.692096E-002,
2.300385E-002, 1.825164E-002, 1.908418E-004,
-2.526333E-002, -4.382636E-002, -3.841010E-002,
1.735187E-003, 7.313454E-002, 1.565082E-001,
2.235226E-001, 2.491718E-001, 2.235226E-001,
1.565082E-001, 7.313454E-002, 1.735187E-003,
-3.841010E-002, -4.382636E-002, -2.526333E-002,
1.908418E-004, 1.825164E-002, 2.300385E-002,
1.692096E-002, 6.771358E-003, -1.294677E-003,
-4.629715E-003, -4.058501E-003, -2.145760E-003]
# initialise low pass filter registers (maybe this should be an array)
lp_filter_registers = [0.0]*(len(hlp)-1)
# read individual samples and filter
s = 0
while s < 1000000:
# for test just use zero value
incoming_sample = numpy.array([0.0]);
# low pass filter samples
(lp_filtered_sample, lp_filter_registers) = lfilter(hlp, 1.0,
incoming_sample, -1, lp_filter_registers)
s = s + 1
# main entry point
if __name__ == '__main__':
print 'Running memory leak test'
main()
print 'Finished.'
---------------------------------------------------------
When I view the Physical Memory Usage History in the Windows task
manager it is ramp which only halts growing when memory is exhausted.
For the time being I have reverted back to the previous version of scipy
to keep working.
Anyone else observed the same problem?
Regards ...
More information about the SciPy-User
mailing list