Hi, OXID is caching parents in static class properites getParentArticle. so if you load a lot of variants in a loop like you wrote, all those parents pile up. There is no public method to reset them, but you can write a module for that.
just search for "self" in oxarticle.php Best regards On Mon, Sep 17, 2012 at 3:19 PM, André Herrmann <[email protected]>wrote: > Hi, > > I can remember that I tried it like this some time ago and it did not > work for me as expected, which lead me to the code I posted first. > > I will try this again with only building one instance of the object and > just using the load method again and again. > > Regards > > André > > On 17.09.2012 14:12, Bernd Hasis wrote: > > Hi, > > > > my solution and I dont have any "bad" results by doing it this way: > > > > $oArticle = oxNew('oxarticle'); > > > > foreach ( $aOXIDs as $sOxid ) { > > > > $oArticle->load( $sOxid ); > > } > > > > So, I init the object before the foreach and use the same object on > every foreach iteration. > > > > Mit den besten Grüßen aus Lünen > > i. A. Bernd Hasis > > > > > > > > -----Ursprüngliche Daten----- > > Datum: 17.09.2012 13:51:47 > > Von: André Herrmann <[email protected]> > > An: <[email protected]> > > Betreff: [oxid-dev-general] Base unload method for avoiding > constantlyincreasing memory consumption? What do you think about this? > > Vorgang: T-CC8GZDZCJA-72 > > > >> Hi folks, > >> > >> several times I ran into the same issue with continuously increasing > >> memory consumtion if I loop a huge list of e g. article ids like this: > >> > >> foreach ( $aOXIDs as $sOxid ) { > >> $oArticle = oxNew('oxarticle'); > >> $oArticle->load($sOxid); > >> .... > >> } > >> > >> even if I try to clone an object it will have just a tiny effect: > >> > >> $oBaseArticle = oxNew('oxarticle'); > >> foreach ( $aOXIDs as $sOxid ) { > >> $oArticle = clone $oBaseArticle; > >> $oArticle->load( $sOxid ); > >> .... > >> } > >> > >> unsetting the object is useless in both cases and has no effect on > >> memory consumption. > >> > >> I expect the problem in the factory triggering, so unsetting the last > >> instance is just useless. Is there really no counterpart for oxNew() or > >> load-Method for cleaning up the memory before going to next step in the > >> above loop. > >> > >> Am I the only one who's running into that problem? And no, articlelists > >> are not the solution for dealing with tenthousands of products. > >> > >> The only thing I currently can do is NOT to use the oxid objectframework > >> in cases like this and therefore directly query the database. Not > >> elegant, but it guarantees a near flat memory consumption. > >> > >> What about your best practices on the issue above if you need full > >> variant informations? Would you agree having some kind of memory > >> cleaning method inside the oxid framework? > >> > >> Best wishes > >> > >> André > >> > >> -- > >> > >> André Gregor-Herrmann > >> Entwicklung, Administration, Projektmanagement > >> > >> mail [ [email protected] ] > >> > >> web [ www.fatchip.de ] > >> > >> FATCHIP [ GmbH ] | sitz [ Helmholtzstrasse 2-9 | 10587 Berlin ] | > fon [ 030.39 88 93 51 ] | fax [ 030.39 88 93 52 ] | mail [ > [email protected] ] | Ust-Id. [ DE 265567757 ] | Amtsgericht [ > Berlin-Charlottenburg ] | HRB [120567 B] | Geschäftsführung [ Dipl.-Ing. > Hendrik Bahr ] > >> > >> Be Smart, Go Green. Don’t print this email unless you really need to. > >> > >> _______________________________________________ > >> dev-general mailing list > >> [email protected] > >> http://dir.gmane.org/gmane.comp.php.oxid.general > > > > _______________________________________________ > > dev-general mailing list > > [email protected] > > http://dir.gmane.org/gmane.comp.php.oxid.general > > > -- > > André Gregor-Herrmann > Entwicklung, Administration, Projektmanagement > > mail [ [email protected] ] > > web [ www.fatchip.de ] > > FATCHIP [ GmbH ] | sitz [ Helmholtzstrasse 2-9 | 10587 Berlin ] | fon > [ 030.39 88 93 51 ] | fax [ 030.39 88 93 52 ] | mail [ > [email protected] ] | Ust-Id. [ DE 265567757 ] | Amtsgericht [ > Berlin-Charlottenburg ] | HRB [120567 B] | Geschäftsführung [ Dipl.-Ing. > Hendrik Bahr ] > > Be Smart, Go Green. Don’t print this email unless you really need to. > > _______________________________________________ > dev-general mailing list > [email protected] > http://dir.gmane.org/gmane.comp.php.oxid.general >
_______________________________________________ dev-general mailing list [email protected] http://dir.gmane.org/gmane.comp.php.oxid.general
