Hanno Schlichting wrote: >>> Hanno Schlichting recently posted a nice graph showing the persistent >>> structure of a Plone Page object and it's 9 (!) sub-objects. >>> http://blog.hannosch.eu/2009/05/visualizing-persistent-structure-of.html >> That graph isn't quite correct ;-) >> >> workflow_history has DateTime objects in it, and I think they get their >> own pickle. > > Nope. DateTime objects are plain old-style classes and don't inherit > from persistent.*.
Hmm, oh well, my bad... In that case it must just be that their pickled form is huge compared to an int ;-) They are incredibly expensive to unpickle since all > the DWIM magic in their __init__ get called each time, though. How come? Unpickling doesn't call __init__ and I don't see why the DWIM magic would be needed anyway, since everything has already been parsed. It's actually the list of PersistentMappings that is the problem. Once that gets large (ie: a content object that's been around for a long time) then everything that adds workflow history commits a new copy of that list. cheers, Chris -- Simplistix - Content Management, Zope & Python Consulting - http://www.simplistix.co.uk _______________________________________________ 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