On Fri, 6 Dec 2002, Kevin Jacobs wrote: > I'm in the process of isolating the other leak that hits both the Python and > C verions of datetime in the test_pickling() function, though I suspect that > may be other incarnations of the above problem. Here it is: import sys import cPickle dumped = cPickle.dumps(object()) for i in range(10): cPickle.loads(dumped) print '*' * 10, 'total refs:', sys.gettotalrefcount() With output: ********** total refs: 10929 ********** total refs: 10930 ********** total refs: 10931 ********** total refs: 10932 ********** total refs: 10933 [...] The leak occurs in cPickle.loads, but not in pickle.loads. It also does not depend on binary or non-binary mode of dumps(). It seems to require a new-style object to occur, but not one that implements a custom hash function as in the previously reported leak. This is all I have time for this evening... If the case(s) are not cracked tomorrow, I'll take a stab at dissecting the responsible C code. Enjoy! -Kevin -- Kevin Jacobs The OPAL Group - Enterprise Systems Architect Voice: (216) 986-0710 x 19 E-mail: jacobs@theopalgroup.com Fax: (216) 986-0714 WWW: http://www.theopalgroup.com
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4