Re: [dzug-zope] Effizient ueber große Mengen von Ob jekten iterieren
Pavel Bogdanovic <[email protected]>
| Newsgroups | gmane.comp.web.zope.german |
|---|---|
| Message-ID | <[email protected]> |
Hallo Michael, kannst Du die Metadaten nicht derart erweitern, dass Du nicht alle Objekte aufwecken musst? Gruß Pavel Am 20. November 2009 10:22 schrieb Michael Hierweck < [email protected]>: > Hallo allerseits, > > kann man in Plone 3.3.x effizienter über viele Objekte iterieren, als so: > > > brains = catalog.searchResults([...]) > for brain in brains: > object = brain.getObject() > [...] > > > Bei mir führt das zu einer Zunahme des RAM-Bedarfs von 20-25 MB je 1000 > Objekten und nach ca. 90.000 Objekten und dem Erreichen von rund 2 GB > treten Fehler (syshook, leider wird kein Stacktrace ausgegeben) auf. > > Zumindest mein Code führt keine Operationen aus, bei denen Daten in > jedem Iterationsschritt erfasst und in globalen Variablen abgelegt > würde. Leider muss ich jedoch die Objekt mit "getObject()" aufwecken, da > nicht alle benötigten Daten in den Brains stehen. > > Was ich schon mal probiert habe: > > a) Alle 1000 Objekte gc.collect() aufgerufen => kein spürbarer Effekt > b) Alle 1000 Objekte transaction.abort() aufgerufen => reduziert den > RAM-Bedarf anscheinend (wächst aber immer noch). > > Zumindest den Effekt von b) verstehe ich nicht, weil hier definitiv (von > mir) keine Daten geschrieben werden. (Es handelt es um ein rein lesendes > Datenexport-Skript.) Es sei denn Archetypes würde bei get"Field"() oder > dem Verfolgen von Referenzen (relatedItems) Schreiboperationen ausführen... > > > Danke für Tipps und auch Information zum besseren Verständnis. > > Ein schönes Wochenende wünscht > > Michael > > > > _______________________________________________ > zope mailing list > [email protected] > https://mail.dzug.org/mailman/listinfo/zope > > -- _________________________________________ Dipl.-Ing. Pavel Bogdanovic Prontonet Stresemannstraße 161 D-22769 Hamburg Tel: +49 (0)40 76 99 0800 Fax: +49 (0)40 76 99 0801 mobil: +49 (0)177 246 13 15 [email protected] visit us www.prontonet.eu _______________________________________________ zope mailing list [email protected] https://mail.dzug.org/mailman/listinfo/zope