[Kevin Jacobs]
> First minimal test case:
>> class Leaker(object):
> def __hash__(self): return 1
>> for i in range(10):
> hash( Leaker() )
> print '*' * 10, 'total refs:', sys.gettotalrefcount()
>> In the context of the datetime objects, this leak only affects the
> Python version. It also requires that the Leaker class is a new-style
> object.
Outstanding! Thanks, Kevin. I note that this variant shows the same
growth:
x = Leaker()
for i in range(10):
hash(x)
print '*' * 10, 'total refs:', sys.gettotalrefcount()
> 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.
Possibly. I'll try to figure out what's going on above first.
> Fun, fun!
The thrill fades a bit after the three hundredth time <wink>.