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