On Tue, 2007-11-06 at 15:08 -0500, Jim Fulton wrote:
> 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.

Aaaaah. Man that lightbulb is burning my brain ;-)

-- 
Roché Compaan
Upfront Systems                   http://www.upfrontsystems.co.za

_______________________________________________
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev

Reply via email to