アプリをARCに変換しようとしていますが、変換すると5倍遅くなります:(
私のグラフビューには、すべてのポイントを反復する次のコードブロックがあります。
NSLog(@"%f", CACurrentMediaTime());
for (NSUInteger xIndex = firstXValueOnScreen; xIndex <= lastXValueOnScreen; xIndex++)
{
float value = 5; //This used to call a function to get the value but I took out the function call to better demonstrate that this seems to be just a general slowdown...
if (extremesUninitialized)
{
yMax = value;
yMin = value;
extremesUninitialized = NO;
}
else
{
yMax = MAX(yMax, v,alue);
yMin = MIN(yMin, value);
}
}
NSLog(@"%f", CACurrentMediaTime());
ARCの前は、このブロックは約.01秒で実行されます。次に、ARCコンバーターを使用します。これにより、コードが文句なしにARCに変換されます。この後、同じ状況で同じコードを実行すると、.05秒の結果が得られます。5の倍数で遅くなります...そこで、スナップショットから古いプロジェクトを復元したので、ARCはなくなり、10回のようにテストを実行し、一貫して.01秒の結果が得られました。それから私はそれをARCに戻し、一貫して.05秒を得ました。XCodeは、なぜこれが起こっているのかについて、ここで私に手がかりを与えていません...しかし、私のコードの残りの部分も遅くなっています。何が起こっているのでしょうか?