Re: NSPredicate speed improvement?
Re: NSPredicate speed improvement?
- Subject: Re: NSPredicate speed improvement?
- From: Sixten Otto <email@hidden>
- Date: Sat, 01 Mar 2014 08:22:42 -0700
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