Glückwunsch. Du generierst dadurch ein oxList-Objekt mit 1300 kompletten oxArticle-Objekten, die wiederum jeweils ein oxarticlelist-Objekt mit x oxArticle-Objekten der Varianten enthalten. Wo genau gibst du jetzt wieder Speicher frei?
Der OXID-Profiler funktioniert out-of-the-box nicht im Adminbereich.
[QUOTE=martin.wegele;175626]Glückwunsch. Du generierst dadurch ein oxList-Objekt mit 1300 kompletten oxArticle-Objekten, die wiederum jeweils ein oxarticlelist-Objekt mit x oxArticle-Objekten der Varianten enthalten. Wo genau gibst du jetzt wieder Speicher frei?
Der OXID-Profiler funktioniert out-of-the-box nicht im Adminbereich.[/QUOTE]
Genau das ist mein Problem Martin.
Ich habe bereits unset getestet, variable auf NULL (was ja nur dann mehr auf die CPU geht …), das Object aus der oxlist entfernt nach nutzung usw.
Habe Garbage Collection angetestet usw.
Leider kein Erfolg. Daher die Frage hier im Forum
PS: selbst wenn ich keine oxlist nutze und die oxids aus der DB mittels record set auslese und jedes oxarticle element einzeln nach einander erzeuge bekomme ich memory probleme
[QUOTE=mishoo;175628]
PS: selbst wenn ich keine oxlist nutze und die oxids aus der DB mittels record set auslese und jedes oxarticle element einzeln nach einander erzeuge bekomme ich memory probleme[/QUOTE]
Hmm, das ist komisch. Wieviele Varianten sind es denn pro Elternartikel?
Habe mir das angesehen weil memory für meine Module auch ein Thema ist, das Problem ist wahrscheinlich dass beim Laden der Varianten Daten des Vaterartikels kopiert werden, dazu wird das Parent geladen und in eine statische Variable geschrieben, in der stehen dann irgendwann alle Parents (getParentArticle). Das Kopieren kann man mit setLoadParentData deaktivieren wenn der Code im Backend läuft.
[QUOTE=leofonic;175640]Habe mir das angesehen weil memory für meine Module auch ein Thema ist, das Problem ist wahrscheinlich dass beim Laden der Varianten Daten des Vaterartikels kopiert werden, dazu wird das Parent geladen und in eine statische Variable geschrieben, in der stehen dann irgendwann alle Parents (getParentArticle). Das Kopieren kann man mit setLoadParentData deaktivieren wenn der Code im Backend läuft.[/QUOTE]
Das werde ich morgen gleich einmal testen. Danke für den Tip
[QUOTE=leofonic;175640]Habe mir das angesehen weil memory für meine Module auch ein Thema ist, das Problem ist wahrscheinlich dass beim Laden der Varianten Daten des Vaterartikels kopiert werden, dazu wird das Parent geladen und in eine statische Variable geschrieben, in der stehen dann irgendwann alle Parents (getParentArticle). Das Kopieren kann man mit setLoadParentData deaktivieren wenn der Code im Backend läuft.[/QUOTE]
Das Problem bei setLoadParentData das ich es nicht setzen kann, wenn ich getFullVariants nutze.
Ich habe es jetzt so gelöst. Das ich mir alle Varianten ID’s mittels SQL für den entsprechenden Artikel laden lasse und daraufhin immer ein oxarticle Model generiere und es entferne.