[R] Two Questions on R (call by reference and pre-compilation)

Ruihong Huang ruihong.huang at wiwi.hu-berlin.de
Wed May 5 08:32:55 CEST 2010


Thank all of you!

On 05/05/2010 12:08 AM, Steve Lianoglou wrote:
> Hi,
>
> On Tue, May 4, 2010 at 5:05 PM, Ruihong Huang
> <ruihong.huang at wiwi.hu-berlin.de>  wrote:
>    
>> Hi All,
>>
>> I have two questions on R. Could you please explain them to me? Thank you!
>>
>> 1) When call a function, R typically copys the values to formal arguments
>> (call by value).
>>      
> This is technically incorrect.
>
> As far as I know, R has "copy-on-write" semantics. It will only make a
> copy of the passed in object if you modify it within your function.
>
>    
>> This is very cost, if I would like to pass a huge data set
>> to a function. Is there any situations that R doesn't copy the data, besides
>> pass data in an environment object.
>>      
> This question comes up quite often, you could try searching the
> archives to get more info about that (using gmane might be helpful).
>
> Check out this SO thread as well:
> http://stackoverflow.com/questions/2603184/r-pass-by-reference
>
>    
>> 2) Does R pre-compile the object function to binary when running "optim"? I
>> experienced the R "optim" is much slower than the MATLAB "fmincon" function.
>> I don't know MATLAB has done any pre-compilation on the script for object
>> function or not. But perhaps, we can increase R performance by some sort of
>> pre-compilation during running time.
>>      
> If I had to guess, I'd guess that it doesn't, but let's see what the
> gurus say ...
>
>    


More information about the R-help mailing list