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 )

I would think this:
        for( int i = MAXINT; i; --i );
is faster than this:
        for( int i = 0; i < MAXINT; ++i );

However, on my machine they both took the
same time -- 3.24 seconds.

I would think the test of 'i'
would be a single instruction and the test
of 'i < MAXINT' would take multiple
instructions. But surprise!


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
_______________________________________________
vox-tech mailing list
[email protected]
http://lists.lugod.org/mailman/listinfo/vox-tech


_______________________________________________
vox-tech mailing list
[email protected]
http://lists.lugod.org/mailman/listinfo/vox-tech

Reply via email to