Hi, no you are wrong. Propel internally builds up a lot of objects that reference each other. It has nothing to to with tables referencing each other.
And I wouldnt call that PHP GC a garbarge collector Are you using propel 1.3? It is much friendlier with respect to memory Fabian On Jun 10, 2009, at 9:26 PM, Steve Sanyal wrote: > > PHP does have a "garbage collector", but this may be an issue with an > inability to perform gc due to a circular reference issue in Propel. > If I understand it, the problem happens in this kind of case: > > Table A has a reference to Table B, thus the propel om has classes A > and B, which have references to each other. > > Let say you something like: > > $a = new A(); > $b = new B(); > $a->setB($b); > (under the covers, $b will now also have a reference back to $a) > > Once $a and $b go out of scope they should be marked to be freed up by > the garbage collector. But I think what happens is that when the > garbage collector sees $a it sees that $b has a reference to it, and > vice versa. So neither gets unallocated. I saw that the propel folks > did some work on this, but I haven't gone through their code. > > This may also be an environment related issue. I have had the same > dataset working for months on Vista, on my laptop where I've been > developing my app. My phpinfo() on Vista says max memory is 128M, the > same as the Linux box of my hosting provider. I never had any > problems until I tried this on Linux, and even on Linux it's > intermittent. > > I also see the provider is running PHP 5.2.9, whereas I'm running > 5.2.8 on my laptop. > > Cheers, > Steve > > > > > On Jun 10, 2:53 pm, Fabian Lange <[email protected]> > wrote: >> The problem is that PHP has no garbage collector. Once allocated all >> propel objects stay in memory. >> And propel has tons of them. >> The last time I had to load I built my load script by hand, squeezing >> out everything which was not needed >> I set the limit to 1gb and after a long time i could import it. >> Other solutions are to split the import into multiple command line >> invokations. But this will only work as long as you do not have a FK >> relation between the objects >> >> Good luck >> >> Fabian >> >> PS: ORM is not the right tool for data dumping, and loading or >> migration > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "symfony users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/symfony-users?hl=en -~----------~----~----~----~------~----~------~--~---
