Re: loop efficiency & messages
Re: loop efficiency & messages
- Subject: Re: loop efficiency & messages
- From: Thomas Davie <email@hidden>
- Date: Tue, 22 Mar 2005 23:20:47 +0000
On Mar 22, 2005, at 7:57 PM, Mark Dawson wrote:
if I have a getter: -getCount { return mCount; }
How much of a difference are there between the following two loops?
int count = [self getCount];
for (i = 0; i < count; i++)
…
for (i = 0; i < [self getCount]; i++)
Does compiler optimize this similar to a C++ inline so that count
is just stored in a register, or does a message sequence happen
each time? If messages happen each time, is it a better habit to
do the first for loop (where the compiler should just keep count in
a register)? I realize that it may not make much difference with
most loops, but if there's a "better" way, I'd like to get into the
habit of typing the "better" code…
The simple answer is that the compiler will not optimize that, and in
fact the reason is that they are semantically different, so the
compiler would be introducing a bug if it optimized one into the
other... Just consider if there were another thread running that
added items to the array... The effect is different with the two
pieces of code.
Bob
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden