• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: limiting CPU usage
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: limiting CPU usage


  • Subject: Re: limiting CPU usage
  • From: Murat Konar <email@hidden>
  • Date: Fri, 30 Nov 2007 13:07:33 -0800


On Nov 30, 2007, at 12:19 PM, Alexander Cohen wrote:

What im doing is pretty simple. I have a loop that for each iteration, opens an image, gets some info, then closes it down ( using CG of course ). Everything is released correctly and there are no leaks. BUt after a while, the system gets unresponsive.

But *when* are things being released?

A common problem when running in a loop is that objects that are autoreleased (so-called temporary objects) aren't actually deallocated until the end of the current run-loop. Often, these temporary objects aren't ones you've created; they're created as a side effect of code that you're calling.

You can avoid the build-up of temporary objects by using your own auto-release pool thusly (typed in Mail, this is just pseudo code to illustrate the concept):

NSAutoreleasePool * autoreleasePool = [[NSAutoreleasePool alloc]init];

while (keepLooping)
{
    do stuff...

if (number of loops since the last time we released the autoreleasePool is above some threshold)
{
[autoreleasePool release];
autoreleasePool = [[NSAutoreleasePool alloc]init];
}
}


[autoreleasePool release];


How often you release the autorelease pool depends on how memory heavy your operations are.


_murat
_______________________________________________

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


References: 
 >limiting CPU usage (From: Alexander Cohen <email@hidden>)
 >Re: limiting CPU usage (From: Thomas Davie <email@hidden>)
 >Re: limiting CPU usage (From: Alexander Cohen <email@hidden>)
 >Re: limiting CPU usage (From: Murat Konar <email@hidden>)
 >Re: limiting CPU usage (From: Alexander Cohen <email@hidden>)

  • Prev by Date: Re: Custom alerts for Core Data validation errors ... how to?
  • Next by Date: Re: Custom alerts for Core Data validation errors ... how to?
  • Previous by thread: Re: limiting CPU usage
  • Next by thread: Debugging/Troubleshooting UTI and Spotlight issues in Leopard
  • Index(es):
    • Date
    • Thread