アプリがあり、全文検索を実装しています。私は 2 つのエンティティを持っています: それらの間に多対多の関係があるキーワードと記事です。問題のあるコードは次のとおりです。
keywordsInRange = [[[CoreDataManager sharedManager] managedObjectContext] executeFetchRequest:request error:&err];
for(Keywords* word in keywordsInRange) {
NSDate *methodStart = [NSDate date];
[mySet addObjectsFromArray:[word.article allObjects]];
NSDate *methodFinish = [NSDate date];
NSTimeInterval executionTime = [methodFinish timeIntervalSinceDate:methodStart];
NSLog(@"Keyword Search Exec Time: %.3f", executionTime);
}
出力は次のとおりです。
Keyword Search Exec Time: 0.235 //added 1 article
Keyword Search Exec Time: 0.216 //added 6 articles
Keyword Search Exec Time: 0.211 //etc
Keyword Search Exec Time: 0.205
Keyword Search Exec Time: 0.204
ご覧のとおり、セット内のキーワードにリンクされたすべての記事を追加するには、デバイス (iPad iOS 4.2.1) でテストすると、予想外に長い時間がかかります。シミュレーターでテストすると、時間は次のようになります。
0.029
0.026
0.026
0.026
0.026
間違いはどこにありますか? スピードアップするにはどうすればよいですか?