いくつかのGCDをコードに統合しようとしていますが、深刻なボトルネックは、大きな配列内のオブジェクト間で実行しているバブル比較であることがわかりました。元のコードは次のとおりです。
NSUInteger count = [arrayToDoWorkOn count];
for (int i = 0; i < count; i++)
{
for (int j = i + 1; j < count; j++)
{
[[arrayToDoWorkOn objectAtIndex:i] compare:[arrayToDoWorkOn objectAtIndex:j]];
}
}
私のドリフトを取得しますか?したがって、他の多くの高速列挙タスクは、変換することで簡単にGCDすることができます
for (id obj in array)
{
[obj aMessage:stuff];
}
に:
[array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop)
{
[obj aMessage:stuff];
}];
先読み-sorta-bubble-sorta-algorithm-thingをGCDブロック実装にフィードできるものに変換する方法はありますか?