I have noticed, that 5000 instances of CTimestampBehavior attached to one model use two times more space, than the same number of my AR instances without the behavior. Should behaviors use that much memory? It’s a big problem, because now 5000 of my AR instances with the behavior use 70MB, when it could use only 20MB without it.
Why do you have 5000 AR instances in the first place?
I think he means, that he has 5000 AR instances with behavior attached. Well at least I hope so
Tomas C.: 5000 ARs in one place, that’s bad design in my dictionary!
Behaviors do require more memory to operate but it’s not critical for typical scenario where you’re using AR to add/edit data or display some data (typically it’s paged so there are about 10—20 records at once).
I guess you’re dealing with batch import, right?
Currently there is no need to use so many ARs, I was just testing something, but I may have write a script for exporting my records and in such case it’s easier to use ARs. It would be better if behaviors used less memory.
Export should be done in packets. So for 5000 records it should be divided into 100 records at once or so. Also it’s better to use DAO for this purpose, not AR.