R – How find performance bottleneck in iPhone


I'm new to Obj-c programing, and wonder how find a performance bottenecj.

I have a UITable that load chunks of 50 objects from a sqlite database.

Then, when the user scroll, I load the next 50 objects until finish.

However, I find that the scrolling stop for a seconds. I wanna know why.

I don't think that 50 objects is that much for the iphone, and when are in my cache (a NSDictionary) all move fast (I can't load all at first becuase my test list is of 3000 items).

I do everything as suggested: Load lazy, use cache, use opaque, draw the cells myself, etc. So, i need to know how hunt the problem

From the Performance tool I see a lot of allocations, but can related that to where is failing this. I suspect in some areas of my code but I wanna have strong data before take this…

Is possible have a accumulation of time in a single method? Like for example:

Method Sample run 100 times, av 6,2 secs?

Best Solution

Try shark.

As I don't have access to the iPhone developer SDK, I can't tell you how to use Shark with the iPhone, but I found this in a forum:

I haven't read it myself yet, but you may want to take a look at the Shark User Guide in the iPhone documentation. To clarify, you'll have to look in the 3.0 beta docs.