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.
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).
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.