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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.