On Nov 17, 2007, at 10:53 AM, Gerd Knops wrote:
You should probably investigate trying to create fewer temporary
objects, and fewer autoreleased objects, as a way to fix this
problem on your end.
That would be a less than fun task, given >50.000 lines of code...
I did sprinkle a number of local NSAutoReleasePools, so that
autoreleased objects do not amass. That made no (measurable)
difference in performance at all. I no longer have the 4 second period
of unresponsiveness, but the overall process takes 4 seconds longer,
so that was a wash. By adding timestamps before and after the
[autoReleasePool release] I can see that they now roughly share the
burden (eg take about the same time). So having all the temporary
objects in one large pool or a number of smaller pools makes no
difference.