Re: Objektmonster auftrennen?
"Maik Derstappen, Derstappen IT" <[email protected]>
| Newsgroups | gmane.comp.web.zope.german |
|---|---|
| Organization | Derstappen IT Consulting |
| Message-ID | <[email protected]> |
Am 07.06.2011 16:41, schrieb Peter Zechmeister: > Hallo Liste, > > ich schreibe ein Zope2 Produkt und da habe ich folgende Problematik: > > self._tree ist ein Dict mit ziemlich gigantischen Ausmaßen (Bildet die > gesamte Hierarchie unserer sehr großen Site ab). > > Ein commit() dauert rund 2s, wenn ich self._tree vorher leere jedoch nur > (0.1s) > > Mein Eindruck ist (ist auch irgendwie logisch), dass ein commit() immer > das ganze Objekt mit allen seinen Attributen speichert, also auch mit > dem self._tree. Das ist ungünstig, wenn sich self._tree nur selten > ändert, die anderen Objektattribute aber häufig. > > Was wäre eine elegante Variante, so ein Problem zu umgehen? Kann man > einzelne Attribute irgendwie vom Rest abtrennen? > Wenn _tree ein von von Persistent abgeleitetetes Objekt ist, dann macht die ZODB diese Magie für dich. Dieser Teil wird dann erst beim Zugriff geladen (unghostify). Ein self.__dict__ zeigt dir in diesem Fall hier nicht den Inhalt an, erst wenn du auf ein Attribut von _tree zugreifst wird dir self.__dict__ den Inhalt mit anzeigen. Gruß Maik -- ======================================================================== Derstappen I T Consulting Tel: +49 ( 341 ) 600 13 0 31 Zope/E-Mail/Backup/Monitoring Mobil: +49 ( 178 ) 861 2 833 M a i k D e r s t a p p e n Fax: +49 ( 180 ) 5 021 121 90 56 H e r l o ß s o h n s t r 12 Email: [email protected] 0 4 1 5 5 L e i p z i g Internet: http://www.derstappen-it.de ======================================================================== _______________________________________________ zope mailing list [email protected] https://mail.dzug.org/mailman/listinfo/zope