Here it is a message that bounced (unsubscribed address, probably). -------------------------------------------------------------------------------- De: Dave LeBlanc <david.lebl...@gmail.com> A: pytables-users@lists.sourceforge.net Data: Dimecres 19:59:33 Hi all, we're looking to use PyTables in a scenario where we open/read/write/close files a lot with a long-running interpreter session. We're seeing memory usage steadily increase for even simple things.
For example, just opening and closing a tables file in a loop will cause memory to increase. To illustrate this, I've opened the check_leaks.py script in $PyTables/tables/tests, change the following line: from: var2 = tables.StringCol(length=1, pos=2) to: var2 = tables.StringCol(1, pos=2) This allows the script to run again with the newer pytables stuff. Writing: Then running the check_leaks.py like this will create a file, foo.h5: python check_leaks.py -t -i 15 -w foo.h5 > write-stats.txt Reading: We can now run the read-test: python check_leaks.py -t -i 50 -r foo.h5 > read-stats.txt Just opening and closing: If you comment out some lines in the read test, so it just opens and closes the file: def read_table(file, nchildren, niter): for i in range(niter): fileh = tables.openFile(file, mode = "r") #for child in range(nchildren): # node = fileh.getNode(fileh.root, 'table' + str(child)) # klass = node._v_attrs.CLASS # data = node[:] # Read data # #print "data-->", data #show_mem("After reading data. Iter %s" % i) fileh.close() show_mem("After close") Then run the check-leaks script again: python check_leaks.py -t -i 90000 -r foo.h5 > read-stats.txt For just the read case, the first few lines (after it warms up) look like: Memory usage: ******* After close ******* VmSize: 89044 kB *VmRSS: 14036 kB* VmData: 74348 kB VmStk: 200 kB VmExe: 1920 kB VmLib: 11348 kB WallClock time: 0.024069070816 Delta time: 0.00594902038574 After 9000 loops, it looks like: Memory usage: ******* After close ******* VmSize: 92604 kB *VmRSS: 17672 kB* VmData: 77908 kB VmStk: 200 kB VmExe: 1920 kB VmLib: 11348 kB WallClock time: 51.3589119911 Delta time: 0.00462102890015 That's almost 3mb, just opening and closing files. Things get worse for reading and writing, but I'm very surprised to see this just opening and closing files. I'll be digging into this, but I'd appreciate it if anyone could provide some insight as to what's consuming this memory. Thanks, -Dave -- Dave LeBlanc <david.lebl...@gmail.com> ------------------------------------------------------------------------------ 10 Tips for Better Web Security Learn 10 ways to better secure your business today. Topics covered include: Web security, SSL, hacker attacks & Denial of Service (DoS), private keys, security Microsoft Exchange, secure Instant Messaging, and much more. http://www.accelacomm.com/jaw/sfnl/114/51426210/ _______________________________________________ Pytables-users mailing list Pytables-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pytables-users