Re: NSPredicate speed improvement?
Re: NSPredicate speed improvement?
- Subject: Re: NSPredicate speed improvement?
- From: Koen van der Drift <email@hidden>
- Date: Sat, 01 Mar 2014 10:33:23 -0500
You are right about the [cd], which is not supposed to be here, blame it on poor copy-paste skills.
So how can I fix the predicate to compare entities?
- Koen.
> On Mar 1, 2014, at 10:22 AM, Sixten Otto <email@hidden> wrote:
>
> Two things:
>
> 1. No, doing a string comparison with contains (and case and diacritical folding active) is one of the slower kinds of string comparison. Straight equality should be much faster.
>
> 2. You say that there are two entities, with a relationship defined. Why, then, are you doing a string comparison in this predicate? Checking the value of the relationship should be much faster.
>
> Sixten
>
>
>> On Sat, Mar 1, 2014 at 5:22 AM, Koen van der Drift <email@hidden> wrote:
>> Consider two entities in a many-to-many relationship: Library and Book. In a NSFetchResultController backed UITableView, I like to show all the books from one library, so I constructed the following fetch request:
>>
>> NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName: @"Book"];
>> NSSortDescriptor *sort = [[NSSortDescriptor alloc] initWithKey: @"date" ascending: YES];
>> [fetchRequest setSortDescriptors: @[sort]];
>>
>> NSPredicate *predicate = [NSPredicate predicateWithFormat: @"libraries contains[cd] %@", self.library];
>> [fetchRequest setPredicate: predicate];
>>
>> which is then fed into the NSFetchedResultController when the view opens.
>>
>> There is a noticeable delay of a few 100 ms when the view opens, and I suspect that the predicate I have is not optimal by using 'contains'.
>>
>> Is there a way to improve on this?
>>
>> Thanks,
>>
>> - Koen.
>>
>>
>> _______________________________________________
>>
>> Cocoa-dev mailing list (email@hidden)
>>
>> Please do not post admin requests or moderator comments to the list.
>> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>>
>> Help/Unsubscribe/Update your Subscription:
>>
>> This email sent to email@hidden
>
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden