[vox-tech] loop efficiency and testing against zero.
Rod Roark
rod at sunsetsystems.com
Fri Jun 16 09:41:17 PDT 2006
It would depend on the machine language and I doubt it would in
practice make a noticeable difference... but typically when you
perform integer arithmetic (as in decrementing a counter) there are
CPU flags set indicating whether the result is less than, equal to or
greater than zero. Therefore you won't need to perform a separate
comparison if you are testing against zero.
Rod
On Friday 16 June 2006 09:28, Peter Jay Salzman wrote:
> I've read somewhere that a loop that runs from 0 to some number should be
> written to go in reverse order, e.g. instead of:
>
> for ( int i = 0; i < 10; ++i )
>
> we should write:
>
> for ( int i = 9; i >= 0; --i )
>
> The rationale is that it's faster to test against 0 than some other integer,
> but it isn't obvious to me *why* it's faster.
>
> Why is that?
>
> Pete
More information about the vox-tech
mailing list