Comparison to a variable is expectedly slower since the engine must
perform a lookup into the running script's variable list. Since a
constant doesn't require a lookup it's access time is O( 1 ) whereas the
lookup of a variable will lie someplace between O( 1 ) and O( lg n )
depending on the algorithm used.
Cheers,
Rob.
On Mon, 2003-08-11 at 15:44, Ray wrote:
> also, if you can compare to a constant, there is a notable difference as well.
>
> <?php
> $i = 0;
> $a = 10000000;
> while( $i++ < $a ){}
> ?>
> real 0m10.268s
> user 0m10.000s
> sys 0m0.030s
>
> <?php
> $i = 0;
> $a = 10000000;
> while( $i++ < 10000000 ){}
> ?>
> real 0m7.057s
> user 0m6.880s
> sys 0m0.020s
>
> so if $a is something like the size of an array or another thing that affects
> the number of times the loop needs to be run. then if you can, reverse the
> order of the loop so you can compare to 0 (or another constant)
>
> <?php
> $a = 10000000;
> $i = $a;
> while( $i-- > 0 ){}
> ?>
> real 0m7.111s
> user 0m6.870s
> sys 0m0.040s
>
> YMMV
>
--
.---------------------------------------------.
| Worlds of Carnage - http://www.wocmud.org |
:---------------------------------------------:
| Come visit a world of myth and legend where |
| fantastical creatures come to life and the |
| stuff of nightmares grasp for your soul. |
`---------------------------------------------'
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php