Re: & performance issues

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2008-04-16 at 23:37 -0400, Nathan Nobbe wrote:
> all,
> 
> i have heard from various sources that using the & in php can at times be
> costly, and therefore, it should not be used when it is not needed.  for
> example, passing an array by reference because you think youre passing the
> actual array is not a good idea.  only pass it by reference if a modified
> version needs to be handed to the calling code via an actual parameter.
> im also wondering about php4 code thats now running under 5; such as
> function &returnObject() ...
> $a =& new SomeClass() ...
> lets suppose, for the sake of arguments, i have my hands on a codebase where
> everything actually does count.  the code was php4 and is now transitioning
> to 5.  does anybody know if there would be a performance gain in running the
> whole thing through sed to try and strip out the unnecessary & characters ?
> any empirical data?

If it's faster, it's faster so that would suggest a performance gain...
but as many will tell you, and you most likely already know... is the
gain worth the effort? BTW, rote replacement of references like that,
may not be a good idea. There are times when you really do want a
reference to an object... or maybe not... but you or someone else might
have done it anyways ;)

Contrast:
<?php

    $b = new Foo();
    $a = &$b;
    $a = new Fee();

?>

Versus:
<?php

    $b = new Foo();
    $a = $b;
    $a new Fee();

?>

In the first $b references the instance of Fee since $a is a reference.
In the second, $b remains an instance of Foo when $a becomes and
instance of Fee.

Cheers,
Rob.
-- 
http://www.interjinn.com
Application and Templating Framework for PHP


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux