[ZODB-Dev] Re: ZODB Benchmarks
Jim Fulton
jim at zope.com
Tue Nov 6 15:08:05 EST 2007
On Nov 6, 2007, at 3:01 PM, Roché Compaan wrote:
> On Tue, 2007-11-06 at 17:40 -0200, Sidnei da Silva wrote:
>>> Despite this change there are still a huge amount
>>> of unexplained calls to the 'persistent_id' method of the
>>> ObjectWriter
>>> in serialize.py.
>>
>> Why 'unexplained'? 'persistent_id' is called from the Pickler
>> instance
>> being used in ObjectWriter._dump(). It is called for each and every
>> single object reachable from the main object, due to the way Pickler
>> works (I believe). Maybe persistent_id can be analysed and optimized
>> for the most common cases?
>>
>
> If you look at the profiler stats I posted earlier you would have
> noticed that there was about 1.3 million calls to persistent_id while
> only 20000 objects were persisted. So if it is being called for each
> object I would expect a figure closer to 20000, not 1.3 million.
> What am
> I missing?
It's called for *all* objects, not just persistent objects. This
includes, ints, strings (including attribute names), etc.
Jim
--
Jim Fulton
Zope Corporation
More information about the ZODB-Dev
mailing list