Possible Duplicate:
In PHP (>= 5.0), is passing by reference faster?
Say I'm dealing with a large-ish (just how big isn't important) array of data and passing it into a function. It will, of course, be passed by value and not by reference by default. Okay, I know that.
So my question is:
If the data stored in this array were large enough, can worthwhile performance or memory usage gains be experienced by storing the data in an object (say, a stdClass) or by using foo(&$myData) so that the data is passed by reference instead of value?
My understanding is that when it's passed by value PHP will create a whole new pointer to a whole new memory allocation for the data while the passed-by-value variable exists in the function scope. In such an event, might passing a large amount of data by reference be worthwhile for this reason? I don't know if this understanding is correct ... that's part of the question.
Note: this is a hypothetical, so don't bring up anything about "premature optimization", "you'd be better off to minimize disk I/O before worrying about this", "depends on how much RAM you have", "etc."
UPDATE
A further question: say the data is being passed to an object constructor to be stored as one of that object's properties and it's being modified in some small way as it's stored in the new object's property. Will there then be a significant difference in the memory usage aspect of the operation? Is it correct to assume that it will be better to define the data in the destination format to begin with to avoid the cost incurred by altering the data down the line?