hi! i have a writeen am framework where objects have unique ids and instances are stored in btreefolders, one per class. if i want to retrieve an instance based on id, i lookup it's class name and the get the class' container path from my metadata manager (f.ex. "/app/data/Appointments/instances"). now i traverse to this container and get the object with given id from there.
the process of traversing to the class' container folder is done on each object get. a cool optimization for me would be to cache class container folders in a python dictionary (much faster than traversal), but this doesn't work. the main problem is that objects retrieved from these cached folders have broken acquisition. actually i asked a similar question some time ago and was told: "don't store persistent objects in python dicts." i changed my code back to traversal and everything works, but now i finally reached the optimization stage and profiling indeed shows a huge improvement in object lookup with class container caching enabled. so can anybody tell me why this doesn't work, or what to respect to make it working? btw. the cache dict is implemented as a volatile attribute (_v_classContainerDict) of a singleton object in the db. best regards, jürgen herrmann _______________________________________________________________________ >> XLhost.de - eXperts in Linux hosting << Jürgen Herrmann Konrad Adenauer Allee 43, DE-93051 Regensburg Fon: +49 (0)700 XLHOSTDE [0700 95467833] Fax: +49 (0)721 151 463027 WEB: http://www.XLhost.de _______________________________________________ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )