Re: Wich one is faster, compare or isEqualToString? (NSString methods)
Re: Wich one is faster, compare or isEqualToString? (NSString methods)
- Subject: Re: Wich one is faster, compare or isEqualToString? (NSString methods)
- From: Ken Thomases <email@hidden>
- Date: Fri, 5 Jun 2009 22:48:01 -0500
On Jun 5, 2009, at 9:22 AM, Bill Cheeseman wrote:
On Jun 5, 2009, at 9:51 AM, Michael Ash wrote:
On Fri, Jun 5, 2009 at 8:20 AM, Ignacio Enriquez
<email@hidden> wrote:
Hi there;
Suppose I have
NSString *char = [[NSString alloc] initWithString:@"a"];
So, I wonder which is faster?
if([char isEqual:@"a"])
NSLog("it was a");
or
if([char compare:@"a"]==NSOrderSame)
NSLog("it was a");
or maybe is another faster than this two?
thanks in advance...
1) Why do you care? Is this really a bottleneck in your application?
2) If it is in fact a bottleneck in your application, then test them
both and see which one is faster.
-isEqualToString: would be a shade faster than -isEqual:, but you
should use it only if you know that the incoming parameter value is
an NSString object.
But Michael is right. In most cases it won't make enough difference
in execution speed to justify the time it takes to ask the question.
If it does matter -- for example, because it is embedded in a loop
that iterates hundreds of thousands of times, there are even faster
techniques you should consider. But that is an advanced topic.
And, on top of those concerns, it's important to know that -compare:
is not the same as -isEqual: or -isEqualToString:.
The documentation of -[NSString compare:] says it's the same as -
compare:options:range: with no options. NSLiteralSeach is among the
possible options. Its absence implies a non-literal comparison.
By contrast, -isEqual and -isEqualToString: perform a literal
comparison. This is documented in the description of -
isEqualToString:, which also gives an example of what it means. In
other words, -isEqualToString: is analogous to -compare:options: with
the NSLiteralSearch option.
Regards,
Ken
_______________________________________________
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