Re: Unexpected behaviour with autorelease pool
Re: Unexpected behaviour with autorelease pool
- Subject: Re: Unexpected behaviour with autorelease pool
- From: Filip van der Meeren <email@hidden>
- Date: Sun, 14 Dec 2008 23:38:57 +0100
On 14 Dec 2008, at 23:27, Ken Thomases wrote:
On Dec 14, 2008, at 4:17 PM, Filip van der Meeren wrote:
If your system doesn't crash/hangs before you can stop it, then you
will see that the app is consuming memory like the Americans are
consuming oil.
And according to me, my program respects the Memory Management
rules. So I say there is a bug.
Then you misunderstand. Nothing in the Memory Management rules will
protect you, your program, or the system against your program
consuming large amounts of RAM or VM.
The Memory Management won't protect me indeed, but still, NSNumber is
the basic foundation of our OS, I know dozens of ways to create the
object without autoreleasing it inside somewhere.
There has to be a better way to do this, this isn't just some other
virtual machine that releases objects when its pool is full. This is
native, no garbage collector is going to save us!
That is why I think that the basic building blocks of our framework
should be able to create themselves without putting a big restraint on
the system.
They just prevent leaks. But not all memory consumption constitutes
a leak.
But they are a pain in the buttocks, and certainly if you want to
create a small but efficient terminal app.
There are implications to delayed release (a.k.a. autorelease pools)
that apply even if you are following the rules. You are responsible
for understanding and dealing with those implications.
If you think there's a bug, please point to the contractual
obligation on the part of the frameworks which you feel isn't being
honored.
Regards,
Ken
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden